本期推荐的 Android 系统的沙盒程序,App 虚拟化引擎创建了一个虚拟空间,在那里可以任意安装、启动、控制、卸载应用。虚拟空间与外部隔离相当于沙盒环境,可在安卓上实现应用多开、静默安装等黑科技。
VirtualApp介绍
VirtualApp(简称:VA)是一款运行于Android系统的沙盒产品,可以理解为轻量级的“Android虚拟机”。其产品形态为高可扩展,可定制的集成SDK,您可以基于VA或者使用VA定制开发各种看似不可能完成的项目。VA目前被广泛应用于APP多开、小游戏合集、手游加速器、手游租号、手游手柄免激活、区块链、移动办公安全、军队政府数据隔离、手机模拟信息、脚本自动化、插件化开发、无感知热更新、云控等技术领域。
VA技术架构
VA技术一共涉及到了Android的APP层,Framework层以及Native层。
层次 |
主要工作 |
VA Space |
由VA提供了一个内部的空间,用于安装要在其内部运行的APP,这个空间是系统隔离的。 |
VA Framework |
这一层主要给Android Framework和VAPP做代理,这也是VA的核心。VA提供了一套自己的VA Framework,处于Android Framework与VA APP之间。 |
VA Native |
在这一层主要为了完成2个工作,IO重定向和VA APP与Android系统交互的请求修改。 |
VA功能介绍
1.可以满足您的双开/多开需求,VA可以让您在同一部手机上安装多个微信/QQ/WhatsApp/Facebook等APP,实现一部手机,多个账号同时登录。
2.VA提供了一整套内部与外部的隔离机制,包括但不限于(文件隔离/组件隔离/进程通讯隔离),简单的说VA内部就是一个“完全独立的空间”。 通过VA可将工作事务与个人事务安全的隔离,互不干扰。稍作定制即可实现应用行为审计、数据加密、数据采集、数据防泄漏、防攻击泄密等移动安全相关的需求。
3.VA提供了Java与Native的Hook能力,通过VA,您可以轻易实现诸如虚拟定位、改机、APP监控管理、移动安全等各种场景需要的功能。
4.VA提供了APP静默安装,静默升级,静默卸载的能力。如应用商店或游戏中心在集成VA后可以避免需要用户手动点击确认安装的操作,做到下载后立即安装到VA内,给用户带来“小程序”搬的体验,彻底避免了应用不易被用户安装上的问题。
5.VA实现了对Google服务的支持,以支持海外的App运行,比如Twitter、Messenger、WhatsApp、Instagram、FaceBook、Youtube等。
特有能力
- 克隆能力
可以克隆外部系统中已经安装的App,并在内部运行,互不干扰。典型应用场景为App双开。 - 免安装能力
除了克隆已安装之外,VA可以直接在内部安装(外部无感知)apk,并在内部直接运行。典型应用场景为插件化,独立应用市场等。 - 多开能力
VA不仅可以“双开”,独特的多用户模式支持用户在内部无限多开同一个App。
VA工程接入
1.创建自己的App
新建一个application类型的module,并添加lib模块为依赖
implementation project(':lib')
2.在AndroidManifest.xml添加所需的权限
<uses-permission android:name="${VA_ACCESS_PERMISSION_NAME}" />
权限名称必须与VAConfig.gradle中所声明的保持一致,可以在build.gradle中添加Placeholder来防止出错。
android {
// ...
manifestPlaceholders = [
VA_ACCESS_PERMISSION_NAME: rootProject.ext.VA_ACCESS_PERMISSION_NAME,
]
}
3.创建一个Application
复写attachBaseContext方法,添加引导VirtualApp的代码:
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
try {
VirtualCore.get().startup(base, mConfig);
} catch (Throwable e) {
e.printStackTrace();
}
}