Virtual APP 克隆APP安装流程
2017-10-30 19:54:41 2 举报
VirtualAPP克隆应用安装流程
作者其他创作
大纲/内容
PackageParserEx.parsePackage方法1.反射当前平台的包解析器2.处理签名变更的问题3.用包解析器获取包内Activity、Service等信息,并缓存起来
返回HomeActivity处理,在onActivityResult中调用mPresenter.addApp方法
InstallPackage方法1.获取安装毫秒数2.是否跳过dex优化3.解析Apk包,调用PackageParserEx.parsePackage方法4.判断安装包信息是否已经存在 a.如果已经存在并且忽略新版本,直接返回上一版本包信息 b.如果不存在或可以更新,继续流程5.搞出应用在VA中的app文件夹和其中lib文件夹(类比系统的/data/app文件夹)6.如果应用更新,把原来的lib文件、dex文件还有该应用在VA中的子进程都干掉7.判断是否依赖系统(如果本来有应用信息,但是还依赖系统会被强行置为false)8.从APK中复制so文件到VA自己的lib文件夹9.如果不依赖系统文件,将apk拷贝到VA自己的app文件夹下10.如果原来的安装包信息存在(步骤4)将该缓存信息删掉11.修改文件夹权限为75512.更新下安装包信息13.数据持久化、更新缓存14.发送通知安装完毕15.返回结果
Virtual APP (宿主App,简称VA)
点击 Add App,跳转ListAppActivity,勾选并点击Install
addApp方法1.调用服务端getInstallAppInfo方法获取这个应用在VA中的信息(注意:这里不是获取系统安装的APP信息)
如果installedAppInfo为空,即justEnableHidden为false,则调用mRepo.addVirtualApp方法安装应用。在addVirtualApp方法中简单设置了安装时的标志位,最后调用服务端InstallPackage方法安装应用。
服务端 :x进程
0 条评论
下一页