GitHub | 您所在的位置:网站首页 › php插件机制hook拦截修改 › GitHub |
前言: 开源盛行的插件化框架有很多,实现方式也有很多种。本项目是介绍如何加载dex文件(java代码)、so库(c++代码)、资源文件(resource)到虚拟机,围绕Android Framework源码,如何启动插件中Activity、Service、BroadcastReceiver、ContentProvider四大组件,从而了解到插件化中核心知识点。 注意点:若是实际项目中使用,推举使用成熟的插件化框架,存在的bug较少。 插件化教程核心点: 围绕Android 7.0 framewok层讲解相应的源码 Android 插件化之ClassLoader加载Dex文件 Android 插件化之ClassLoader加载so库 Android 插件化之aapt修改资源前缀 Android 插件化之加载插件资源 Android插件化之动态替换Application Android 插件化之启动Activity Android 插件化之加载Service Android 插件化之加载BroadcastReceiver Android 插件化之加载ContentProvider Android 插件化之Fragment重建问题备注点:以上插件化核心点的代码已经全部实现,详细介绍正在完善。 项目特别说明: 需要先阅读Android 插件化之aapt修改资源前缀,接着,配置好aapt。 在导入项目,进行调试。Android P以上非公开API限制问题 android官方在9.0以上版本,限制反射调用hide隐藏api,给插件化带来一片阴影。 不过,国内大牛厉害,针对该问题已经有过墙梯。详细方案,请阅读另一种绕过 Android P以上非公开API限制的办法, 使用FreeReflection 库便可解决。 目前在android 12 以上机型,存在反射问题。请在android 11以下运行本案例,若有其他crash 问题,欢迎提交Issues。 资源参考: DroidPlugin解析教程 VirtualApk解析 Android插件化技术 |
CopyRight 2018-2019 实验室设备网 版权所有 |