第一章 插件化技术的前世今生
插件化技术可以说是 Android 高级工程师所必须具备的技能之一,从 2012 年插件化概念的提出(Android版本),到 2016 年插件化的百花争艳,可以说,插件化技术引领着 Android 技术的进步。
插件化提要
可以说,插件化技术涉及得非常广泛,其中最核心的就是Android的类加载机制和反射机制
插件化发展历史
插件化技术最初源于免安装运行 apk 的想法,这个免安装的 apk 可以理解为插件。支持插件化的 app 可以在运行时加载和运行插件,这样便可以将 app 中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现 app 功能的动态扩展。
想要实现插件化,主要是解决下面三个问题:
- 插件中代码的加载和与主工程的互相调用
- 插件中资源的加载和与主工程的互相访问
- 四大组件生命周期的管理
第二章 插件化原理
- 类加载
- 双亲委托机制
- 资源加载
- 四大组件支持
- ProxyActivity代理
- hook方式
- 其他组件
- Android动态加载框架DL的架构与基本原理解析
- Android 插件化框架 DynamicLoadApk 源码分析
第三章 Android插件化初探
从零开始实现一个插件化框架
- 概念
- 插件化解决的问题
- 各插件化框架对比
- 插件化实现
- ClassLoader实现类
从零开始实现一个插件化框架
- Activity的启动流程
- 寻找Hook点
- 撸码阶段
- 代理对象
- 偷天换日,替换原来的Intent
- ActivityThread
- 将代理的intent替换回来
从零开始实现一个插件化框架
- 插件资源加载
- Android中资源加载流程
- ActivityManager
- ActivityThread
- AppCompatActivity
第四章 架构演化(大厂篇)
360插件开发之DroidPlugin
- 插件开发之360 DroidPlugin源码分析
- 插件开发之360 DroidPlugin源码分析之Hook机制
- Hook机制的包结构关系
- Hook机制类图关系
- Hook机制的时序图关系
- Manifest权限申请
- 基类Hook做了什么?
- ProxyHook
- BaseHookHandle
- HookedMethodHandler
- ReplaceCallingPackageHookedMethodHandler
- IO重定向
- 递归遍历
- 以IPackageManager为例
- 插件开发之360 DroidPlugin源码分析之Binder代理
滴滴VirtualApk实战
- 配置
- 应用
- 原理
- 总结
- 问题
基于VirtualAPK Android重构之插件化
- Plug-in Hello World
- 插件化框架的选择
- 插件化原理
- 引入插件化之痛
爱奇艺插件化原理分析之 Neptune框架
- 插件化基础知识点
- 类加载
- 插件化中资源使用限制
- Apk打包流程
- 四大组件的插件化
- 插件Activity任务栈
- 处理插件中的广播
- 处理插件中的Service
360开源全面插件化框架RePlugin 实战
- RePlugin 介绍
- 宿主接入步骤
- 插件接入步骤
- 使用插架
腾讯插件化框架 Shadow项目解析
- 框架简单介绍
- 框架结构分析
- sample 示例代码 AndroidManifest.xml 分析
- Activity 实现
- 替换插件 Activity 的父类
- Service 实现
- BroadcastReceiver 实现
- ContentProvider 实现
- 框架自身动态化