如题,微信同时只能启动一个实例,而分身版微信可以同时启动很多个实例,我想知道这是怎么做到的,其中原理是什么?
总结目前分身类应用技术实现方案如下:
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
Android平台上主要借助了系统的多账户机制,相当于在手机中建立了一个“虚拟机”,就像是手机中的“第二系统”,在其中运行的应用不会对原手机系统产生任何干扰,保障了两个账户的同时独立运行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。