Android aar 化源码切换🔧

背景

对于稍微大一点的 Android 项目,将业务模块打包成aar依赖项是一种常见的操作,上传到公共或自建 maven。但是对于实际的开发过程,开发者经常需要切换 aar 依赖方式到源码,完成新功能开发或调试。

DepSwitchPlugin 是我之前尝试的一种实现方案,实现很简单,本质上就是根据配置来替换依赖,在上面提到的场景里,它可以 work。当时有收到 issues 提到说

多个module就会有很多个dep-switch.json,如果能把dep-switch.json放在项目根目录,全局只有一个dep-switch.json文件,这样更合理,每次修改只关注这一个 dep-switch.json

多个module 都需要 apply plugin 的确很麻烦。于是有了下面的实现,对原工程侵入很少,实现利用 gradle 的 api 也更加简单: 1,2,3 switch!

实现

工程改造