插件化开发整体流程

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的getResourcesgetAssetsgetTheme

以上是关于插件化开发整体流程的主要内容,如果未能解决你的问题,请参考以下文章

插件化开发详解

Android 插件化Hook 插件化框架 ( 通过反射获取 “宿主“ 应用中的 Element[] dexElements )

Android 插件化Hook 插件化框架 ( 合并 “插件包“ 与 “宿主“ 中的 Element[] dexElements | 设置合并后的 Element[] 数组 )

Activity插件化解决方案

干货分享腾讯出品Android插件化开发指南+项目实战(附源码)

Android插件化初体验