原理似乎是利用 Android for Work 以及原生多用户功能,建立一个具备独立空间的 Work 类型用户,也是无需切换当前用户就能访问两个用户的内容,但两个用户之间数据不互通。
Island 对于系统有一定的要求(尽可能接近原生),比如在一些阉割了“工作资料”功能特性的第三方定制 Android 系统中(作者举例:魅族 Flyme)无法使用这个应用。
具体使用反馈可参考知乎问题:https://www.zhihu.com/question/45459605
有个回答中提到的 device encryption 应该指 Google 对 Android 6.0 以上系统默认启用的全盘加密机制,该机制对文件系统性能有一定的影响,因此存在一些用户通过刷机补丁等手段解除该机制以提升系统的响应速度。
最后三星 Android 手机有自家专有的 Knox 软硬件安全机制,以及供给个人用户使用的免费软件 My Knox,用于实现双开及数据隔离。
1 个回答
WangMT - 中华土味消费电子无机黑,macOS 新用户,又不是不能用。
推荐来自: Hustbear 、Joey 、asayahaku 、李大伟
而且这问题我好像还不算零经验。
此回答可参考以下知乎问题的相关回答(这才对得起观点剽窃者这个自称):
下面正文。
------------------------------
首先需要了解这一点:
Android 4.2 及以上版本原生提供了多用户特性,可以建立不同的用户。
(尽管由于实用需求不算高,导致不少厂商定制系统中该特性被默认隐藏)
应该也是因为系统原生的这个特性,给了现在对于 Android 手机而言,所谓双开功能的一种实现可能。
现行的实现方案便分为系统内置与第三方软件两种,MIUI 8 很明显属于系统内置方案。
于是就从 MIUI 8 来讲,知乎参考问题中,小米 MIUI 安全工程师王乐,是这样解释的:
原问题的其它答案中 LBE 团队的人员认为 MIUI 的双开是集成开源方案实现,也有人认为是基于加拿大 Graphite Software 的方案(后来有一种说法是说小米使用了 Graphite 的产品进行加固提升安全性)。
实际上 MIUI 也分为手机分身和应用分身两个功能入口,“手机分身”相当于会完全重新建立一个用户(两个用户之间默认有切换入口),“应用分身”则相当于在现有用户上建立独立运行环境(我感觉可以部分理解成计算机概念中的虚拟机),并向独立环境复制用户选择的应用,然后同时运行。根据小米方面的描述,两个环境数据互不影响。
同时小米也对系统的表层 UI 设计和使用逻辑做了一定程度优化,让用户更容易识别以及利用这个功能,例如在图标上对本体应用和复制应用进行区分,然后还举了个我没查证的例子是原生 Android 中只能访问当前用户安装的应用和数据,而 MIUI 开启双开功能后,不需要切换用户就可以打开被复制的应用了。
小米目前表示,该功能支持几乎所有应用。
---下为补充部分---
在上文引用材料中,提到了 LBE,而基于 MultiDroid 引擎的“LBE 平行空间” Android App 就是一种比较典型的第三方软件双开解决方案。
类似的 Android 虚拟化方案还有开源的 VirtualApp,我曾经就用过一个个人开发者基于这种方案实现功能的作品,很遗憾的是好像因为某些原因下架了(酷安渠道)。
还有一种第三方方案似乎是基于 Android 5.0 以上 Android for Work 相关系统功能实现的,比如绿色守护作者 Oasis Feng 开发的 Android 双开应用 Island(岛),目前尚处于 Beta 版本。
原理似乎是利用 Android for Work 以及原生多用户功能,建立一个具备独立空间的 Work 类型用户,也是无需切换当前用户就能访问两个用户的内容,但两个用户之间数据不互通。
Island 对于系统有一定的要求(尽可能接近原生),比如在一些阉割了“工作资料”功能特性的第三方定制 Android 系统中(作者举例:魅族 Flyme)无法使用这个应用。
最后三星 Android 手机有自家专有的 Knox 软硬件安全机制,以及供给个人用户使用的免费软件 My Knox,用于实现双开及数据隔离。
以上搬运内容建议根据兴趣选择性阅读。
那么大概就这样了吧。