首页
社区
课程
招聘
[原创]基于Android AFW实现的app多开研究
发表于: 2020-8-16 14:55 20102

[原创]基于Android AFW实现的app多开研究

2020-8-16 14:55
20102

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 效果展示


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-1-17 10:40 被蟑螂一号编辑 ,原因:
收藏
免费 6
支持
分享
最新回复 (10)
雪    币: 154
活跃值: (3786)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
大佬厉害!
2020-8-19 10:20
0
雪    币: 6003
活跃值: (3490)
能力值: ( LV6,RANK:96 )
在线值:
发帖
回帖
粉丝
3


根据楼主的提示,已经创建好了

2020-8-27 19:42
0
雪    币: 1
活跃值: (883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

里面有个

setup-wizard-lib-platform-release.aar,怎么不是源代码?

最后于 2020-8-28 12:17 被zoukaiping编辑 ,原因:
2020-8-28 10:36
0
雪    币: 259
活跃值: (3623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
zoukaiping 里面有个setup-wizard-lib-platform-release.aar,怎么不是源代码?
那个代码不是很重要吧
2020-8-28 13:36
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
那个rom是用什么工具安装的。。想搞个尝试下弄弄~
2021-2-16 22:43
0
雪    币: 3212
活跃值: (743)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Imyang 根据楼主的提示,已经创建好了
大佬求教
2021-3-26 13:49
0
雪    币: 6
活跃值: (856)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如何在多开运用中注入内容?
2021-4-1 16:58
0
雪    币: 227
活跃值: (781)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这里说的意思没懂“修改ManagedProvisioning App,解除大于1个分身情况下,会提示已创建工作资料空间。根据代码分析,ManagedProvisioning负责工作资料空间的创建和配置。“
不知道是不是指这 com.android.managedprovisioning.task.CrossProfileIntentFiltersSetter.resetFilters() 这个方法
2022-1-4 21:49
0
雪    币: 202
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
付费求成品
2022-1-16 14:13
0
雪    币: 259
活跃值: (3623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
mb_xzfwsiuy 付费求成品
加q   四八二七七九八零三
2022-1-17 10:35
0
游客
登录 | 注册 方可回帖
返回
//