Gradle的管理在组件化改造中是一个非常有学问的环节。在我看来Gradle在其中的主要几个职责:
引入包的版本管理
组件化编译与总体编译的切换
各模块间的层级关系维护
gradle.properties 配置中转站
接下来我们就一点一点的讲。
1.引入包的版本管理
这其实不是组件化开发的专利。正如其他的项目一样,统一的版本号我们都管理在Config.gradle中。类似下面的文件。在模块中引入模块时,统一通过类似api rootProject.ext.dependencies["mmkv"]的引入方式来保证版本的统一。这个很好理解,因为都是常规操作。
ext {
android = [
applicationId : "${PACKAGE_NAME}",
compileSdkVersion: 28,
buildToolsVersion: "28.0.3",
minSdkVersion : 18,
targetSdkVersion : 28,
versionCode : VERSION_CODE as int,
versionName : "${VERSION_NAME}"
]
version = [
androidSupportSdkVersion: "28.0.0",
retrofitSdkVersion : "2.4.0",
dagger2SdkVersion : "2.19",
]
dependencies = [
//support
"