插件化开发整体流程
Posted 清浅岁月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插件化开发整体流程相关的知识,希望对你有一定的参考价值。
<一> 四大组件(Activity)
1.将宿主APk的dex和插件APK的dex数组合并
2.将启动的Activity(Intent) 替换成占坑的Activity,绕过检测。反射获取AMS的代理的startActivity方法
3.将占坑的Activity替换成目标Activity,通过Handler的CallBack,在ActivityThread里面的发送消息的Handler没有设置CallBack。通过它可以拦截消息处理发送过来的消息。
<二>资源的整合
1.创建插件资源的Resource
2.给插件apk设置资源的回调,在宿主的Application中重写getResource和getAssert,getTheme
3.在插件资源的activity中,调用宿主apk 的资源回调,重写Activity的getResources和getAssets,getTheme
以上是关于插件化开发整体流程的主要内容,如果未能解决你的问题,请参考以下文章
Android 插件化Hook 插件化框架 ( 通过反射获取 “宿主“ 应用中的 Element[] dexElements )
Android 插件化Hook 插件化框架 ( 合并 “插件包“ 与 “宿主“ 中的 Element[] dexElements | 设置合并后的 Element[] 数组 )