HookDemo Save

android插件化案例,适合零门槛入手。其中包含:1.aapt修改资源前缀,合并宿主和插件资源。2. Hook ClassLoader,合并宿主与插的dex文件。3. Hook 加载动态替换Application、启动插件的Activity、Service、BroadcastReceiver、ContentProvider,以及Fragemnt。4.hook PMS,实现签名拦截

Project README

前言

开源盛行的插件化框架有很多,实现方式也有很多种。本项目是介绍如何加载dex文件(java代码)、so库(c++代码)、资源文件(resource)到虚拟机,围绕Android Framework源码,如何启动插件中Activity、Service、BroadcastReceiver、ContentProvider四大组件,从而了解到插件化中核心知识点。

注意点:若是实际项目中使用,推举使用成熟的插件化框架,存在的bug较少。

插件化教程核心点: 围绕Android 7.0 framewok层讲解相应的源码

备注点:以上插件化核心点的代码已经全部实现,详细介绍正在完善。

项目特别说明

  1. 需要先阅读Android 插件化之aapt修改资源前缀,接着,配置好aapt。
  2. 在导入项目,进行调试。

Android P以上非公开API限制问题

android官方在9.0以上版本,限制反射调用hide隐藏api,给插件化带来一片阴影。

不过,国内大牛厉害,针对该问题已经有过墙梯。详细方案,请阅读另一种绕过 Android P以上非公开API限制的办法, 使用FreeReflection 库便可解决。

目前在android 12 以上机型,存在反射问题。请在android 11以下运行本案例,若有其他crash 问题,欢迎提交Issues。


资源参考

Open Source Agenda is not affiliated with "HookDemo" Project. README Source: 13767004362/HookDemo
Stars
166
Open Issues
0
Last Commit
9 months ago

Open Source Agenda Badge

Open Source Agenda Rating