重翻已生灰的Android书---组件化再入门
重翻已生灰的Android书---组件化入门
此篇参考柯基大佬的AucFrame组件化架构。柯基大佬文章有详细介绍,本人只搬个砖,如有不对,还请打脸(轻点)。
主要有2点:
1.将依赖统一放到buildSrc中,通过groovy管理,主要是有代码智能提示
2.统一gradle管理
简单说下buildSrc:gradle编译流程是init configure TaskGraph Build Finised,在configure阶段,gradle做的事情就是读取project中有哪些module,以及module中各自的配置。buildSrc是个特殊的module,它的configure会在其它的module之前进行,一般用来实现方便快速发布plugin。
开始搭建
在根目录下创建buildSrc,创建.gitignore,创建build.gradle,同步。同步之后没有buildSrc.iml文件,请重启studio。

添加Config.groovy 文件,这个和上篇config.gradle一样,但是Config.groovy不需要依赖,直接就可以用。


这样就完成了buildSrc管理依赖项。详细代码柯基大佬文章中有。
是不是发现library的build.gradle和order的build.gradle几乎一样,除了applicationId.那是不是就可以统一管理。
复制order.gradle,起名manager.gradle,放到根目录,在Config.groovy配置文件添加个参数gradleType


library.gradle

order.gradle

源码GitHub https://github.com/TWBfly/componentization update分支,如有需要请checkout
至于组件间通信,选择ARoutrer还是柯基大佬的ApiUtils;模块内通信,选择EventBus,liveData,还是柯基大佬的BusUtils,请自行抉择。
详细架构请看柯基大佬AucFrame。