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装置具备各项保护机制,包括磁碟加密,萤幕锁定,远端认证服务与硬碟支持金钥库(如果有的话)。
AFW使用了android多用户实现。多用户模式主要用到 UserManager 相关类,切换不同的用户,在不同的用户下运行 App,实现多开。
android官方提供了afw的实现demo dpc,地址:
https://github.com/googlesamples/android-testdpc
Island的双开也是使用afw技术。
现在的小米、华为等应用双开也是基于afw技术。
由于afw系统限制了只能分身一个,需要实现多开,就需要进行系统二次开发。
涉及修改:
UserManagerService中解除afw分身限制个数
UserManager中解除多用户个数限制
基于android dpc demo实现对任意App的分身控制
修改ManagedProvisioning App,解除大于1个分身情况下,会提示已创建工作资料空间。根据代码分析,ManagedProvisioning负责工作资料空间的创建和配置。
修改Launcher,根据分身之后的app 进行图标绘制以及分身控制
##5 效果展示
本人基于8.1系统开发测试,由于分身一个app就会后台创建一个用户,这种方式的多开对手机系统性能消耗很大。afw 实现分身,需要对手机内存、处理器性能、存储空间都需要考虑。手机性能好,app分身上百个也没问题。