第一章 插件化技术的前世今生

插件化技术可以说是 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 实现
  • 框架自身动态化

资料获取途径:【点击免费领取高级 Android 插件化强化实战手册