阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术

背景

在Android开发行业里,插件化已经不是一门新鲜的技术了,在稍大的平台型App上早已是标配。进入2017年,Atlas、Replugin、VirtualAPK相继开源,标志着插件化技术进入了成熟阶段。但纵观各大插件框架,都是基于自身App的业务来开发的,目标或多或少都有区别,所以很难有一个插件框架能一统江湖解决所有问题。

首先,你须要知道什么是插件化开发。

就拿最常见的QQ来说,在第三个界面动态那里有个管理,点开后能够选择非常多的增植功能,这里腾讯仅仅放了一些网页应用。那么假设未来想增加一个打飞机游戏,要怎么做?让用户又一次安装吗。这就是插件化开发所解决的问题。

用一句话来概括插件式开发:你基本上能够理解为让一个apk不安装也能够被执行。仅仅只是这个执行是有非常多限制的执行,所以才叫插件否则就叫病毒了。

事实上在眼下淘宝、百度、腾讯、等都有成熟的动态载入框架,包含apkplug,可是它们都是不开源的。

说一下我觉得这项技术的难点:
1、一个未被安装的apk正常情况无法被执行。
2、这个apk的资源没办法被引用;
3、这个apk的界面就算被载入,也没办法与用户交互。

如何学习怎么技术?

对于Android开发者而言,插件化技术已经是进阶Android高级工程师的必备技能之一。在此分享一份阿里高级架构师整理的【高级Android插件化强化实战】资料,希望能帮到大家!

主要内容分成四大模块:

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

  1. 插件化提要
  2. 插件化发展历史

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第1张图片

第二章:插件化原理

  1. 类加载
  2. 双亲委托机制
  3. 资源加载
  4. 四大组件支持
  5. ProxyActivity代理
  6. hook方式
  7. 其他组件 …

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第2张图片

第三章:Android插件化初探

  1. 从零开始实现一个插件化框架(上)
  • 概念
  • 插件化解决的问题
  • 各插件化框架对比
  • 插件化实现
  • ClassLoader实现类

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第3张图片

  1. 从零开始实现一个插件化框架(中)
  • Activity的启动流程
  • 寻找Hook点
  • 撸码阶段
  • 代理对象
  • 偷天换日,替换原来的Intent
  • ActivityThread
  • 将代理的intent替换回来

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第4张图片

3.从零开始实现一个插件化框架(下)

  • 插件资源加载
  • Android中资源加载流程
  • ActivityManager
  • ActivityThread
  • AppCompatActivity
  • 总结

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第5张图片

第四章:架构演化(大厂篇)

  1. 360插件开发之DroidPlugin
    DroidPlugin是360手机助手在Android系统上实现了一种新的插件机制。它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第6张图片

2.滴滴VirtualApk实战
VirtualAPK是滴滴在2017年6月开源的一款插件化框架,支持Android四大组件,以及几乎所有的Android特性,通过Gradle来构建插件,集成与构建十分便捷,目前已经应用在 滴滴出行 App上,兼容市面上几乎所有的Android设备。

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第7张图片

3.爱奇艺插件化原理分析之 Neptune框架
Neptune是爱奇艺移动端研发的一套灵活,稳定,轻量级的插件化解决方案。经过不断的研发,迭代和线上验证,目前已经完全适配了Android P,能够在数亿的设备上动态加载和运行插件APK,为爱奇艺众多的垂直业务团队提供了稳定的服务。

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第8张图片

  1. 360开源全面插件化框架RePlugin 实战
    RePlugin 是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第9张图片

5.腾讯插件化框架 Shadow项目解析
Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级用户量检验。Shadow不仅开源分享了插件技术的关键代码,还完整的分享了上线部署所需要的所有设计。更是具有复用独立安装App的源码、零反射无Hack实现插件技术、全动态插件框架、宿主增量极小、Kotlin支持等特点。

阿里巴巴架构师首发,插件化学习笔记,深入理解Android插件化技术_第10张图片

由于篇幅有限,暂时只能展示这么多,整理已打包文件夹,有需要完整版《高级Android插件化强化实战》的朋友,可以点击这里免费领取哦!

你可能感兴趣的