本项目主要是学习一下ARouter,但光看也不行,所以顺便简单自己也将其实现一下吧
其主要涉及的技术有:apt(现在有ksp了,后面去学学)、自定义gradle插件技术、Transform(在gradle8.0+版本已被移除,本文基于[ArouterGradlePlugin][AndroidAOP]进行了相应实现)、ASM,以及运行这个项目需要去掌握的组件化以及android工程中模块配置等技术
ARouter引入gradle插件,主要是为使用asm等技术,自动扫描生成的帮助类并将其注入LogisticsCenter类中进行统一注册
自定义插件在这里就不叙述了,这里记录几个注意点:
- 注1:新建META-INF目录时,需要先建META-INF目录,再建gradle-plugins目录
- 注2:Android Stdio的gradle一般只显示test task,需要将如下配置打开,打开后gradle就有上面的所示的其他任务了
发布插件到本地仓库repo

