1     背景

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

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

2     分身类产品的使用场景

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

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

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

3     主流的分身类应用产品

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

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

3.1  小米应用分身

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

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

3.2  360奇酷手机微信双开

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

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

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

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

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

3.4  360分身大师

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

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

3.5  克隆大师

也是一个第三方app。

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

4     使用流程

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

对于内置该功能的竞品:

对于第三方应用:

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应用分身的实现和解析相关推荐

  1. Android View 测量流程(Measure)完全解析

    前言 上一篇文章,笔者主要讲述了DecorView以及ViewRootImpl相关的作用,这里回顾一下上一章所说的内容:DecorView是视图的顶级View,我们添加的布局文件是它的一个子布局,而V ...

  2. android从服务端获取json解析显示在客户端上面,Android服务端获取json解析显示在客户端上面.doc...

    Android服务端获取json解析显示在客户端上面 Android从服务端获取json解析显示在客户端上面 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比 ...

  3. 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )

    文章目录 一.PyCharm 中进行断点调试 二.ELFFile 实例对象分析 一.PyCharm 中进行断点调试 在上一篇博客 [Android 逆向]使用 Python 代码解析 ELF 文件 ( ...

  4. android permission权限与安全机制解析(上)

    目录(?)[-] uses-permission 自定义permission permission标签 permission-tree标签 permission-group标签 安全机制 组件权限 权 ...

  5. Android实例RSS客户端开发(2)--解析XML文件

    一 介绍完RSS之后,下面开始讲解如何解析RSS文件.因为RSS是基于XML的,所以我们就直接介绍如何解析XML文件. 解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模 ...

  6. android handler2--消息队列源码解析

    android handler2–消息队列源码解析 1.Looper 对于Looper主要是prepare()和loop()两个方法. 首先看prepare()方法 public static fin ...

  7. android studio无app项,Android studio 3.0:无法解析依赖:app @ dexOptions

    Android studio 3.0:无法解析依赖:app @ dexOptions 我迁移到Android studio 3.0.因此,项目无法编译名为":animator"的模 ...

  8. Android 开源1:获取并解析网页信息(Jsoup)

    Android 开源1:获取并解析网页信息(Jsoup) Android 开源1获取并解析网页信息Jsoup 一程序功能 二程序界面 三程序知识点与创新点 四 总结 一.程序功能 本款APP主要是通过 ...

  9. Android自定义Activity切换动画完全解析

    Android自定义Activity切换动画完全解析 在Android开发中,Activity之间的切换是最常见的业务场景了,而且系统默认的Activity之间的切换都是带动画效果的(右进右出).但是 ...

最新文章

  1. 四种软件架构演进史,会一种就很牛逼了!
  2. Mips TLB miss异常
  3. 百度更新算法之后我想说
  4. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...
  5. 使用Visual Studio进行单元测试
  6. [转]Entity Framework 4.1 正式版发布
  7. android.bg,[Android]AMS-PSS
  8. ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
  9. 机器学习代码实战——保存和加载模型(Save and Load Model)
  10. Node.JS——NodeJS引用路径的小问题
  11. 有哪些开源html5的组态软件,FScada组态软件
  12. sscms 导航调用方法
  13. 98点人脸关键点检测算法
  14. Facebook广告投放数据分析
  15. 通过DeviceIoControl获取真实网卡地址
  16. Java盲文数据库_汉语盲文首个“数据库”开建
  17. PW系列 | palette 体验
  18. coc跑团san数值规则_【规则】克苏鲁coc跑团游戏术语/黑话,第三篇教学。
  19. 国科大首期“一生一芯”计划初见成效——本科生带着自己设计的处理器芯片毕业
  20. 网站三大标签是什么? 网页三大标签在优化中分别有什么作用?

热门文章

  1. Python图像识别-Opencv05 色彩
  2. 创成汇丨2019年那些创业大赛比较好?
  3. 集群、分布式、负载均衡区别(转)
  4. 动画交互应用——星球引力
  5. bash通配符(wildcard)和特殊符号
  6. 高鸿业西方经济学微观部分第7版笔记
  7. 在自己的数据集上训练CrowdDet过程记录
  8. 如何获得免费虚拟主机,云服务器呢?(免费)
  9. yolov4-tiny使用jetson nano进行目标检测+tensorrt+CSI+USB摄像头检测
  10. IIS 服务器常见漏洞