miui的双开功能是什么原理?和手机分身技术有什么本质区别? 您所在的位置:网站首页 手机上双开的微信有区别吗 miui的双开功能是什么原理?和手机分身技术有什么本质区别?

miui的双开功能是什么原理?和手机分身技术有什么本质区别?

2024-07-17 23:54| 来源: 网络整理| 查看: 265

互联网的存在最大意义在于可以让零经验的用户也能说出像是老手一样的话,于是这个问题我又可以来水了。 而且这问题我好像还不算零经验。   此回答可参考以下知乎问题的相关回答(这才对得起观点剽窃者这个自称):

https://www.zhihu.com/question/45992098  MIUI 8 的「应用分身」、「手机分身」分别是如何实现的?

下面正文。   ------------------------------   首先需要了解这一点: Android 4.2 及以上版本原生提供了多用户特性,可以建立不同的用户。 (尽管由于实用需求不算高,导致不少厂商定制系统中该特性被默认隐藏)

但原生(或 Lineage OS 等类原生)系统中,5.0 以上用户切换入口则被刻意强调,也就是锁屏/拉下通知栏后右上角的用户头像:

  应该也是因为系统原生的这个特性,给了现在对于 Android 手机而言,所谓双开功能的一种实现可能。

尽管“访客模式”在 MIUI 早期还是 Android 2.3 的时候就存在,但那时该模式只能简单的隐藏一些应用与设置选项的入口。   此外知乎相关回答中还提到更早期的修改应用签名(实现可重复安装两个或两个以上签名不同的相同应用)或相关系统文件这些手段,让手机同时运行两个相同的应用的实现方式,但是现在较常见的双开功能实现方案几乎没有基于这种原理的了。

  现行的实现方案便分为系统内置与第三方软件两种,MIUI 8 很明显属于系统内置方案。   于是就从 MIUI 8 来讲,知乎参考问题中,小米 MIUI 安全工程师王乐,是这样解释的:

小米的手机分身是基于Android多用户开发的,小米在Android多用户的基础上底层做了数据分和进程分离和很高强度的安全加固,保证了手机分身和主用户之间的高度安全隔离,同时在交互设计上又做了很多细节优化,这样主用户和分身用户的使用过程中就没有原生系统的割裂感.  MIUI8的应用分身,一个工程师,从调研到实现原型用了一个月,完成了雏形。 然后加入两个小伙伴,又用了一个多月,实现了产品化。 目前还有5%尚待完善和探索。 不是LBE类似的虚拟化技术,也不是Graphite Software 提供的“Secure Spaces”。 作者:王乐 链接:https://www.zhihu.com/question ... 06868 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原问题的其它答案中 LBE 团队的人员认为 MIUI 的双开是集成开源方案实现,也有人认为是基于加拿大 Graphite Software 的方案(后来有一种说法是说小米使用了 Graphite 的产品进行加固提升安全性)。  实际上 MIUI 也分为手机分身和应用分身两个功能入口,“手机分身”相当于会完全重新建立一个用户(两个用户之间默认有切换入口),“应用分身”则相当于在现有用户上建立独立运行环境(我感觉可以部分理解成计算机概念中的虚拟机),并向独立环境复制用户选择的应用,然后同时运行。根据小米方面的描述,两个环境数据互不影响。   同时小米也对系统的表层 UI 设计和使用逻辑做了一定程度优化,让用户更容易识别以及利用这个功能,例如在图标上对本体应用和复制应用进行区分,然后还举了个我没查证的例子是原生 Android 中只能访问当前用户安装的应用和数据,而 MIUI 开启双开功能后,不需要切换用户就可以打开被复制的应用了。   小米目前表示,该功能支持几乎所有应用。   ---下为补充部分---   在上文引用材料中,提到了 LBE,而基于 MultiDroid 引擎的“LBE 平行空间” Android App 就是一种比较典型的第三方软件双开解决方案。

这个软件在酷安网的下载地址(Google Play 也有):http://www.coolapk.com/apk/com.lbe.parallel

LBE 团队工程师 方振宇 对 LBE 平行空间实现原理的解释(知乎回答):https://www.zhihu.com/question/42998620/answer/95418981 平行空间是 LBE 的子产品之一。

类似的 Android 虚拟化方案还有开源的 VirtualApp,我曾经就用过一个个人开发者基于这种方案实现功能的作品,很遗憾的是好像因为某些原因下架了(酷安渠道)。

VirualApp 中文简介以及项目地址:https://github.com/asLody/VirtualApp/blob/master/CHINESE.md

还有一种第三方方案似乎是基于 Android 5.0 以上 Android for Work 相关系统功能实现的,比如绿色守护作者 Oasis Feng 开发的 Android 双开应用 Island(岛),目前尚处于 Beta 版本。

酷安网下载地址(学校公用电脑不好验证 Play 有没有...):http://www.coolapk.com/apk/com.oasisfeng.island

原理似乎是利用 Android for Work 以及原生多用户功能,建立一个具备独立空间的 Work 类型用户,也是无需切换当前用户就能访问两个用户的内容,但两个用户之间数据不互通。 Island 对于系统有一定的要求(尽可能接近原生),比如在一些阉割了“工作资料”功能特性的第三方定制 Android 系统中(作者举例:魅族 Flyme)无法使用这个应用。

具体使用反馈可参考知乎问题:https://www.zhihu.com/question/45459605 有个回答中提到的 device encryption 应该指 Google 对 Android 6.0 以上系统默认启用的全盘加密机制,该机制对文件系统性能有一定的影响,因此存在一些用户通过刷机补丁等手段解除该机制以提升系统的响应速度。

最后三星 Android 手机有自家专有的 Knox 软硬件安全机制,以及供给个人用户使用的免费软件 My Knox,用于实现双开及数据隔离。

补充一下三星 Knox 的相关内容,Knox 最初出现在 Android 4.2 的三星 Android 手机中,获得美国国防部的安全认证(以及中国的相关认证):

如果要使用 My Knox 之外的功能还需要额外付费购买方案,这些方案主要面向企业用户,提供对大量设备进行统一批量管理的相应功能;一旦 root 后,Knox 的硬件及相关支持功能会永久失效,相应的状态识别标识会从 0x0 变成 0x1,国行用户更可能因此丧失主板层面的保修;不过现在对于部分三星手机,有一部分玩家可以通过状态欺骗(让系统强行识别 Knox 的相关状态为 0x0)的方式让 root 后的三星手机还可以使用 My Knox; 以上搬运内容建议根据兴趣选择性阅读。   那么大概就这样了吧。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有