《Android插件化开发指南》 git项目地址 视频 网址等资料汇总

张财
2023-12-01

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

 类似资料: