-
-
[原创]基于Android AFW实现的app多开研究
-
2020-8-16 14:55
18915
-
[原创]基于Android AFW实现的app多开研究
基于Android AFW实现的app多开研究
1.afw 简介
Android for Work 是协议企业使用 Android 的方案,包括 Android 的产品功能,Google Play for Work 及其他生产力工具. Android for Work 主要透过 API 发布,可让企业行动管理服务(EMM)供应商和企业应用程式开发商为客户员工提供安全,有效率而多元化的行动环境。
以 Android for Work 为基础所建立的解决方案具有以下优点:
资料安全性:公司资料是独立储存在工作管理化装置上的工作设定档中,在装置层级受保护 IT 人员也可以套用资料外泄防范政策。
应用程式安全性:透过 Google Play for Work 部署工作应用程式 IT 人员可禁止使用者安装不明来源的应用程式和套用应用程式设定。
装置安全性:Android for Work装置具备各项保护机制,包括磁碟加密,萤幕锁定,远端认证服务与硬碟支持金钥库(如果有的话)。
2 多用户功能
AFW使用了android多用户实现。多用户模式主要用到 UserManager 相关类,切换不同的用户,在不同的用户下运行 App,实现多开。
3 基于AFW实现双开
android官方提供了afw的实现demo dpc,地址:
https://github.com/googlesamples/android-testdpc
Island的双开也是使用afw技术。
现在的小米、华为等应用双开也是基于afw技术。
4 基于AFW多开实现
由于afw系统限制了只能分身一个,需要实现多开,就需要进行系统二次开发。
涉及修改:
UserManagerService中解除afw分身限制个数
UserManager中解除多用户个数限制
基于android dpc demo实现对任意App的分身控制
修改ManagedProvisioning App,解除大于1个分身情况下,会提示已创建工作资料空间。根据代码分析,ManagedProvisioning负责工作资料空间的创建和配置。
修改Launcher,根据分身之后的app 进行图标绘制以及分身控制
##5 效果展示
6 测试情况
本人基于8.1系统开发测试,由于分身一个app就会后台创建一个用户,这种方式的多开对手机系统性能消耗很大。afw 实现分身,需要对手机内存、处理器性能、存储空间都需要考虑。手机性能好,app分身上百个也没问题。
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开
发者可享99元/年,续费同价!
最后于 2022-1-17 10:40
被蟑螂一号编辑
,原因: