Android应用分身的实现和解析

1     背景

从去年下半年360奇酷手机发布后,国内的手机新品发布,都会提到应用分身、微信双开等类似概念,有一些第三方应用也以分身/双开作为亮点抢占市场,一时间分身类应用成为主流手机的一个必备功能。

在了解和比较了国内的分身类产品后,我将介绍目前市面上主流的分身类产品,及其使用场景、实现原理和存在的风险整理出来,分享给大家、也作为知识的总结积累。

2     分身类产品的使用场景

分身类产品能实现一部手机上安装多个相同应用,实现多个帐号同时登录使用。

主要使用场景包括 社交帐号双开,游戏大小号双开,无需帐号切换,从而省去频繁登录的繁琐,大大提升了特定需求用户的体验。

例如同一部手机上同时登录两个QQ、两个微信。。。

Android应用分身的实现和解析_第1张图片

3     主流的分身类应用产品

 

目前市面上有如下“分身类”的产品:

Android应用分身的实现和解析_第2张图片

有些是厂商开发,内置于手机内部,如小米、奇酷、VIVO,还有一些第三方应用单独实现了此功能,如LBE平行空间、克隆大师等,并且不需要root。这几个应用基本上都能满足上述使用场景的要求,在实现细节跟交互上有一些区别。

3.1  小米应用分身

此功能在MIUI8.0上引入,可以在一台手机上运行双微信、双QQ、双游戏,绝大多数应用均可双开。

Android应用分身的实现和解析_第3张图片

用户可以随意添加双开应用,在桌面、任务管理器、调用应用时双开应用都能共存显示,完全当成两个不同的应用了。

Android应用分身的实现和解析_第4张图片

3.2  360奇酷手机微信双开

早在功能机时代,酷派就有提出一机双系统的类似双开应用的功能。

去年由360和酷派合作推出的360奇酷手机,也实现了此项“黑科技”。在奇酷手机上,可以实现同时运行两个微信,采用“空间隔离”技术,两个微信是完全独立存在的,完全可以用一个微信给另一个微信发信息。

Android应用分身的实现和解析_第5张图片

Android应用分身的实现和解析_第6张图片

3.3  LBE 平行空间(原双开大师)

由LBE推出的第三方app,可以安装在Android4.4之后的手机上。

LBE平行空间(原双开大师)是一款黑科技产品,你可以在平行空间创建应用快捷方式,和原桌面空间的应用互不干涉。

Android应用分身的实现和解析_第7张图片

Android应用分身的实现和解析_第8张图片

3.4  360分身大师

一个单独的第三方app,可以安装在Android4.4之后的手机上。

此app由360官方打造的手机应用和游戏双开软件,为用户提供应用和游戏双开功能服务

Android应用分身的实现和解析_第9张图片

3.5  克隆大师

也是一个第三方app。

克隆大师是专注于做Android平台好用的应用双开App,支持多款应用的双开。

Android应用分身的实现和解析_第10张图片

4     使用流程

上述几款分身类应用,使用流程都大同小异,内置和第三方应用有些差异。

对于内置该功能的竞品:


对于第三方应用:

Android应用分身的实现和解析_第11张图片


5     实现方案

通过实际使用和对比,总结目前分身类应用技术实现方案如下:

1)     修改APK

反编译APK,修改APK 包名、签名,将APK伪装成另外一个不同的APK,

但对于一些有加密的APK,可能没办法实现。

产品:克隆大师

2)     修改Framework

对于有系统修改权限的厂商,可以修改Framework来实现双开的目的

产品:小米应用分身、360奇酷手机、Nubia

3)     通过虚拟化技术实现

虚拟Framework层、虚拟文件系统、模拟Android对组件的管理、虚拟应用进程管理 等一整套虚拟技术,将APK复制一份到虚拟空间中运行

产品:360分身大师,LBE平行空间, Graphite Software “SecureSpaces”

4)     以插件机制运行

可以在无需安装、修改的情况下运行APK文件,利用反射替换,动态代理,hook了系统的大部分与system—server进程通讯的函数,以此作为“欺上瞒下”的目的,欺骗系统“以为”只有一个apk在运行,瞒过插件让其“认为”自己已经安装。

产品:DroidPlugin

 

6     风险

虽然目前双开应用很流行,

1)   数据安全隐患风险:

所有的分身双开应用数据,都通过【应用分身】的过滤,数据不可避免地都要经过【应用分身】,万一【应用分身】被掌握,或使用第三方【应用分身】类应用,数据会存在安全隐患。简单粗暴的反编译修改APK的方式也会存在类似的问题。

2)   Android政策风险:

【应用分身】功能实现的原理 实际上是通过监听截取进程消息,替换反射,类似黑客的手段,可能Android会禁止该类应用。后续Android版本更新后有可能会被限制无法使用。

3)   卡顿、资源占用问题:

【应用分身】无论采用系统层还是应用层的做法,都会占用系统资源,如果分身过多,可能会造成系统卡顿。可以通过限制分身数量的方式来加以避免。

4)   3rd-party应用兼容问题

²  类似Android政策风险,【应用分身】采用类似黑客手段,可能会遭到第三方应用如微信/QQ等的屏蔽

²  一些3rd party应用调用接口不标准,可能没办法被【应用分身】监听和替换,会造成分身应用和本身应用表现不同的兼容性异常。

 

 

7     结语

目前市面主流的分身类产品总结如下表:

形式

应用

实现技术

内置

小米应用分身

修改Framework?

360奇酷手机微信双开

VIVO

Nubia

……

 

第三方应用

LBE平行空间

通过虚拟化技术实现

360分身大师

Graphite Software “Secure Spaces”

克隆大师

修改APK

……

 

 

分身类应用迎合了部分消费者的需求,可以看出国内手机厂商在本地化,在产品细节上越来越注重,在大的功能、大的创新目前较为难以捕捉的情况下,厂商间在ROM上将难以拉开质的差距。“微创新”将成为后续手机厂商的方向,更接地气地满足用户需求将会是各个ROM/OS/UI的微弱优势所在,这类接地气的“微创新”应用也是目前Android对iOS的优势所在,iOS在目前市场上的表现不佳也间接地印证了这一点。

 

END.

 此次转载,仅供学习记录使用,如有侵权,告知即删;

你可能感兴趣的:(Android_ROM,应用分身,应用双开,微信分身,分身大师,LBE平行空间)