1.2012 年 AndroidDynamicLoader 是大众点评 屠毅敏 https://github.com/mmin18/AndroidDynamicLoader
2.2013 年,23Code 自定义控件动态下载 这个项目的作者和开源地址,目前不是很清楚。
3.2013年3月27 日,淘宝的Atlas插件化框架 第16期阿里技术沙龙 视频地址:https://v.youku.com/v_show/id_XNTMzMjYzMzM2.html
4.2014年3月 Android插件化的第二个里程碑dynamic-load-apk (that框架), 任玉刚 https://github.com/singwhatiwanna/dynamic-load-apk
5.2015年4月 途牛 that框架 途牛原创|途牛Android App的插件实现_lostinai的专栏-CSDN博客
https://github.com/singwhatiwanna/dynamic-load-apk
6.2014年5月 CJFrameForAndroid 张涛 https://github.com/kymjs/CJFrameForAndroid 开源实验室
7.2014年11 月, houkx android-pluginmgr https://github.com/houkx/android-pluginmgr
8.2015年,高中生Lody TurboDex https://github.com/asLody/TurboDex
9.2015年3月底,Lody Direct-Load-apk http ://gi t.osch ina. net/oycocean/Direct-Load-a pk
10.2015年5月, limpoxe Android-Plugin-Framewor https://github.com/limpoxe/Android-Plugin-Framework
11.2015年7月,kaedea android-dynamical-loading https://github.com/kaedea/android-dynamical-loading
12.2015 年 4 月,OpenAltas https://github.com/woyaowenzi/ACDD
13.2015年8月27 日,是Android插件化技术的第三个里程碑,张勇的DroidPlugin https://github.com/Qihoo360/DroidPlugin
DroidPlugin研究文章 Weishu's Notes - 为数不多的维术
14.携程于2015年10月开源了他们的插件化框架DynamicAPK https://github.com/CtripMobile/DynamicAPK
15.2015年12月底,林光亮的Small框架 https://github.com/wequick/Small
其它2016年8月,掌阅推出ZeusG https://github.com/iReaderAndroid/ZeusPlugin
2017年3月,阿里推出Atlas https://github.com/alibaba/atlas
2017年6月 360卫士 https://github.com/Qihoo360/RePlugin
2017年6月29 日,滴滴推出Visua!Apk https://github.com/didi/VirtualAPK
16.Android双开 Lody Virtual App https://github.com/asLody/VirtualApp
延申------热修复框架Andfix和Nuwa :
阿里巴巴 Andfix https://github.com/alibaba/AndFix
大众点评Nuwa https://github.com/jasonross/Nuwa
17.这一章,改编自2017年我的系列文章《写给AndroidApp开发人员看的Android底层知识》。 在此基础上,扩充了PMS,双亲委托、ClassLoader等内容。 这些Android底层知识都是学习Android插件化技术所必需的。
http://www.cnblogs.com/Jax/p/6864103.html
18.Android6.0.1 版本 部分源码 https://github.com/BaoBaoJianqiang/AndroidSourceCode
《Android插件化开发指南》随书源码 git汇总:
第2章 音乐播放器
2.15.1 https://github.com/BaoBaoJianqiang/ReceiverTestBetweenActivityAndService1
2.15 . 2 https://github.com/BaoBaoJianqiang/ReceiverTestBetweenActivityAndService2
第3章
3.1 TestReflection 测试反射 https://github.com/BaoBaoJianqiang/TestReflection
3.2 TestReflection2 测试反射,使用jOOR https://github.com/BaoBaoJianqiang/TestReflection2
测试反射,使用自己封装的方法
3.3 TestReflection3 https://github.com/BaoBaoJianqiang/TestReflection3
3.4 Tes tR eflection4 对反射的进一步封装 https://github.com/BaoBaoJianqiang/TestReflection4
第4章
4 . 2 Invocation Handler 动态代理 https://github.com/BaoBaoJianqiang/InvocationHandler
4 . 3 HookAMS Hook AMS https://github.com/BaoBaoJianqiang/HookAMS
4.4 HookPMS Hook PMS https://github.com/BaoBaoJianqiang/HookPMS
第5章
5.2.2 Hook11 Hook Activity的mlnstrumentation对象 https://github.com/BaoBaoJianqiang/Hook11
5.2.3 Hook12 HookAMN的startActivity方法 https://github.com/BaoBaoJianqiang/Hook12
5.2.4 Hook13 Hook了H的Callback https://github.com/BaoBaoJianqiang/Hook13
5.2.5 Hook14 Hook了Instrumentation https://github.com/BaoBaoJianqiang/Hook14
5.3. l Hook15 Hook了lnstrumentatio口, 基于ActivityThread https://github.com/BaoBaoJianqiang/Hook15
5 .4 . 2
5.4. 3 Hook31 加载没在AndroidManifest中声明的Activity (上)https://github.com/BaoBaoJianqiang/Hook31
5.4.4 Hook32 加载没在AndroidManifest 中声明的Activity (下)https://github.com/BaoBaoJianqiang/Hook32
第6章
6. 1 Dynamic0 dex反射 https://github.com/BaoBaoJianqiang/Dynamic0
6 . 2 Dynamic1.0 面向接口编程 https://github.com/BaoBaoJianqiang/Dynamic1.0
6.3 Dynam1c1.1 prov ided https://github.com/BaoBaoJianqiang/Dynamic1.1
6.4 Dynamic1.2 三个项目放在一起, 调试 https://github.com/BaoBaoJianqiang/Dynamic1.2
6.5 ZeusStudy1.8 Application插件化https://github.com/BaoBaoJianqiang/ZeusStudy1.8
第7章
7.2 Dynamic1.3 读取插件资源 https://github.com/BaoBaoJianqiang/Dynamic1.3
7 . 2 Dynamic2 对Dynamic1.3 的重构 https://github.com/BaoBaoJianqiang/Dynamic2
7.3 Dynamic3 换肤 https://github.com/BaoBaoJianqiang/Dynamic3
7.4 Dynamic3.2 换肤的另一种实现 https://github.com/BaoBaoJianqiang/Dynamic3.2
第8章
8 .1
8 .2
8.3 ZeusStudy1.0 Service插件 https://github.com/BaoBaoJianqiang/ZeusStudy1.0
8.4 ZeusStudy1.1 Activity插件, 不使用替身 https://github.com/BaoBaoJianqiang/ZeusStudy1.1
第9章
9.1 9.2
ActivityHook1 激进式插件化Activity https://github.com/BaoBaoJianqiang/ActivityHook1
9.3 ActivityHook2 缓和式插卡化Activty https://github.com/BaoBaoJianqiang/ActivityHook2
9.4 ZeusStudy1.2 Activity资源 https://github.com/BaoBaoJianqiang/ZeusStudy1.2
9.5 Zeus Study1.3 LaunchMode https://github.com/BaoBaoJianqiang/ZeusStudy1.3
9.6 ZeusStudy1.4 改Dex合并,为ZeusClassLoader https://github.com/BaoBaoJianqiang/ZeusStudy1.4
第10章
10.2 10.3
ServiceHook1 包氏解决方案, createService https://github.com/BaoBaoJianqiang/ServiceHook1
10.4 ServiceHook2 包氏解决方案,bindService https://github.com/BaoBaoJianqiang/ServiceHook2
第11章
11.2 Receiver1.0 动态广播的插件化解决方案 https://github.com/BaoBaoJianqiang/Receiver1.0
11.3 Receiver1.1 静态广播的插件化解决方案 https://github.com/BaoBaoJianqiang/Receiver1.1
11.4 Receiver1.2 终极插件化解决方案,占位,自己实现一个广播 https://github.com/BaoBaoJianqiang/Receiver1.2
第12章
12 . 2 ContentProvider1 ContentProvider例子 https://github.com/BaoBaoJianqiang/ContentProvider1
12 . 3
12.4
12 . 5 ContentProvider2 ContentProvider的插件化解决方案 https://github.com/BaoBaoJianqiang/ContentProvider2
第13章
13.2 That1.0 最基本的例子 https://github.com/BaoBaoJianqiang/That1.0
13 . 3 That1.1 插件内跳转 https://github.com/BaoBaoJianqiang/That1.1
13.4 That1.2 肉体上消灭that https://github.com/BaoBaoJianqiang/That1.2
13.5 That1.3 其他形式的跳转 https://github.com/BaoBaoJianqiang/That1.3
13 .6 That1.4 使用IRemoteActivity解决反射奇怪的语法 https://github.com/BaoBaoJianqiang/That1.4
13 . 7 That1.5 支持LaunchMode https://github.com/BaoBaoJianqiang/That1.5
TestSinglelnstance 多个应用共享一个应用 https://github.com/BaoBaoJianqiang/TestSingleInstance
第14章
14. l That3.1 对startService的支持 https://github.com/BaoBaoJianqiang/That3.1
14.2 That3.2 对BindService的支持 https://github.com/BaoBaoJianqiang/That3.2
14.3 That3.3 Service预先占位 https://github.com/BaoBaoJianqiang/That3.3
14.4
ServiceHook3 回氏解决方案,动静结合,startService https://github.com/BaoBaoJianqiang/ServiceHook3
ServiceHook4 田氏解决方案,动静结合,bindService https://github.com/BaoBaoJianqiang/ServiceHook4
14.5 That3.4 BroadcastReceiver,预先占位 https://github.com/BaoBaoJianqiang/That3.4
第15章
15 .2
AAPT 修改aapt https://github.com/BaoBaoJianqiang/AAPT
TestAAPTUpdate 在App中使用新版aapt https://github.com/BaoBaoJianqiang/TestAAPTUpdate
15.3 Apollo1.1 public.xml https://github.com/BaoBaoJianqiang/Apollo1.1
15.4 Apollo1.2 插件使用宿主的资源、 https://github.com/BaoBaoJianqiang/Apollo1.2
第16章
16. 2 Min18Fragment Fragment例子,最基本的例子 https://github.com/BaoBaoJianqiang/Min18Fragment
16.3 Min18Fragment2 Fragment例子,插件内跳转 https://github.com/BaoBaoJianqiang/Min18Fragment2
16.4 Min18Fragment3 Fragment例子,插件跳转到宿主 https://github.com/BaoBaoJianqiang/Min18Fragment3
第17章
Hybrid1.2 h5降级,基于重写startActivityForResult的方式 https://github.com/BaoBaoJianqiang/Hybrid1.2
第18章
18 . 1 Sign1 插件基本混淆、签名 https://github.com/BaoBaoJianqiang/Sign1
Sign2 插件有要被宿主调用的类和方法,要keep https://github.com/BaoBaoJianqiang/Sign2
18 . 2 ZeusStudy1.5 对lib不混淆 https://github.com/BaoBaoJianqiang/ZeusStudy1.5
18.3 ZeusStudy1.6 对lib 昆淆 https://github.com/BaoBaoJianqiang/ZeusStudy1.6
第19章
That2 That插件化,增量+权限 https://github.com/BaoBaoJianqiang/That2
第20章
20.1 JniHelloWorld 自己写的so, hello https://github.com/BaoBaoJianqiang/JniHelloWorld
20.2 MySO1 使用别人写的SO, 32位和64位的so都有, 加载64位的 https://github.com/BaoBaoJianqiang/MySO1
20.3 MySO1.1 使用别人写的so,只有32位的so https://github.com/BaoBaoJianqiang/MySO1.1
JniHelloWorld2 自己写的so, goodbye https://github.com/BaoBaoJianqiang/JniHelloWorld2
MySO2 在宿主App中加载so的例子,so位于assets https://github.com/BaoBaoJianqiang/MySO2
20.4 MySO3 插件还是老样子system.loadLibrary,宿主把插件so解压,放到插件classLoader的libPath中
https://github.com/BaoBaoJianqiang/MySO3
20.5 ZeusStudy1.7 插件在内部的初始化时使用sysntem.load加载插件中的so,捅件中的so位于assets中
https://github.com/BaoBaoJianqiang/ZeusStudy1.7
第21章
2 1.1.1 TestSmallGradle1.0 自定义Plugin https://github.com/BaoBaoJianqiang/TestSmallGradle1.0
2 1.1.2 TestSmallGradle1.1 自定义Extension https://github.com/BaoBaoJianqiang/TestSmallGradle1.1
21.1.3 TestSmallGradle1.2 修改Gradle打包流程 https://github.com/BaoBaoJianqiang/TestSmallGradle1.2