文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(四)

五、Hook Activity 启动流程涉及的完整代码package kim.hsl.plugin; import android.content.Context; import android.os.Handler; import android.util.Log; import java.lang.reflect.Field; import java.lang.reflect.Proxy; ....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(三)

四、用于替换 ActivityThread 中 mH 中的 mCallback 静态代理类静态代理 ActivityThread 中的 final H mH = new H() 成员中的 mCallback 成员 ;该静态代理类的主要作用是 , 在创建的 Activity 示例类之前 , 使用插件包中的 Activity 组件替换之前在 AMS 调用之前使用的 占坑用的 Activity , 就....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(一)

文章目录Android 插件化系列文章目录一、插件包 Activity 启动原理二、分析主线程中创建 Activity 实例源码1、LaunchActivityItem2、ActivityThread三、使用 Hook 技术在主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件1、反射获取 ActivityThread 类2、反射获取 ActivityThread ....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )(三)

3、替换 mInstance 成员使用动态代理类 , 替换原来的 ActivityManager 中的 IActivityManagerSingleton 成员 的 Singleton 类中的 mInstance 成员 ;// 使用动态代理类 , 替换原来的 ActivityManager 中的 IActivityManagerSingleton 成员 // 的 Singleton 类...

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )(二)

三、动态代理类该类持有 mIActivityManager 接口对象 , 当检测到调用 startActivity 方法时 , 拦截该方法 , 在该 startActivity 方法中替换方法中的 Intent 参数 ;package kim.hsl.plugin; import android.content.Context; import android.content.Intent; im....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )(一)

文章目录Android 插件化系列文章目录一、插件包 Activity 启动原理二、需要反射的相关类1、Instrumentation2、IActivityManager3、ActivityManager4、Singleton三、动态代理类四、使用动态代理替换 IActivityManagerSingleton 的 mInstance 成员1、通过反射获取 IActivityManagerInt....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 反射获取 IActivityManager 对象 )(二)

3、反射获取 IActivityManagerSingleton 对象获取 android.app.ActivityManager 类的静态成员变量 , 直接调用 Field 字段 iActivityManagerSingletonField 的 get 方法 , 传入 null 即可获取 ;// 获取 android.app.ActivityManager 类的静态成员变量 // privat....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 反射获取 IActivityManager 对象 )(一)

文章目录Android 插件化系列文章目录前言一、反射相关源码说明1、Instrumentation2、ActivityManager3、Singleton二、反射获取 IActivityManager 对象1、反射获取 ActivityManager 类2、反射获取 IActivityManagerSingleton 字段3、反射获取 IActivityManagerSingleton 对象4....

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | Hook 点分析 )(二)

三、分析 Instrumentation.execStartActivity 方法启动 Activity 时 , 调用的是下面的 Instrumentation.execStartActivity 方法 ;public class Instrumentation { /** * Execute a startActivity call made by the applicati...

文章 2022-02-14 来自:开发者社区

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | Hook 点分析 )(一)

文章目录Android 插件化系列文章目录前言一、Hook 点分析二、查看 Instrumentation 源码三、分析 Instrumentation.execStartActivity 方法四、分析 ActivityManager 中的源码五、博客资源前言在 【Android 插件化】Hook 插件化框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements ) 博....

【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | Hook 点分析 )(一)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

mPaaS 移动开发平台

mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas

+关注