Android虚拟化引擎 App插件开发技术 App虚拟化技术 App热修复技术

Android 05/08 阅读 31 views次 人气 0
摘要:

Android虚拟化引擎,在Android平台内创建一个虚拟空间,可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒。

What is Android Plugin Technology?

1、Launch an APK file within an Android app. 

在一个APP内部启动一个APP

2、In the unrooted device. 

不需要root手机

3、“Host App” = Android app.

4、Plugin” = APK file.

5、No need to install the plugin. 

这里的无需安装主要是指对系统来说,并没有实地安装,,创建沙箱环境,以用户的视角来看还是与host app一样,点击安装,然后正常运行


DroidPlugin

DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。

HOST程序:插件的宿主。

插件:免安装运行的APK

基本原理:

1、共享进程:为android提供一个进程运行多个apk的机制,通过API欺骗机制瞒过系统

2、占坑:通过预先占坑的方式实现不用在manifest注册,通过一带多的方式实现服务管理。

3、Hook机制:动态代理实现函数hook,Binder代理绕过部分系统服务限制,IO重定向(先获取原始Object-->Read,然后动态代理Hook Object后-->Write回去,达到瞒天过海的目的)

源码地址:https://github.com/Qihoo360/DroidPlugin

源码地址:https://github.com/DroidPluginTeam/DroidPlugin

参考地址:https://blog.csdn.net/fuchaosz/article/details/51058058


DynamicAPK

携程App的插件化和动态加载框架。实现了多APK动态加载和HotFix解决方案,通过对aapt的修改实现资源分区,各个模块可以单独的配置资源的PackageID,做到真正的独立APK模块化。

源码地址:https://github.com/singwhatiwanna/dynamic-load-apk

参考地址:https://mp.weixin.qq.com/s?__biz=MzAwMTcwNTE0NA==&mid=400217391&idx=1&sn=86181541ce0164156dfab135ed99bb5c&scene=1&srcid=1104yOOxo7c2fr3ooaz9Pcv5#rd

参考地址:https://blog.csdn.net/fuchaosz/article/details/51056947


VirtualApp

一个更加黑科技的东西,他可以创建一个虚拟空间,可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒,APK无需在外部安装。

运行时,包含以下三部分:

1、Main Process,进程名io.virtualapp,主要负责VirtualApp用户界面及应用管理

2、Server Process,进程名io.virtualapp:x,主要负责系统服务的代理,是通过Content Provider启动的。

3、VApp Process,进程名io.virtualapp:p[0-…],作为将来运行client应用的进程,当client应用启动后,其进程名会更新为client应用的包名。

源码地址:https://github.com/asLody/VirtualApp

文档地址:https://github.com/prife/VirtualAppDoc

参考地址:https://yq.aliyun.com/articles/616978?utm_content=m_1000007760

参考地址:https://blog.csdn.net/earbao/article/details/71156623


MultiDroid

基于安卓平台的应用程序虚拟化引擎,名字借鉴了Android,取义Multi+Droid,即多个机器人的意思。

2016年4月13日LBE科技在北京推出移动虚拟化解决方案。

MultiDroid在安卓手机中虚拟了一个独立的系统,与原有系统完全隔离,用户可以在MultiDroid中运行和原有系统相同的程序,也可以让一部分程序仅安装和运行在MultiDroid中。


评论

表情

分享到: