项目架构:就其中的一个子模块为例(user)
1.在全局配置文件中添加isModule,appId
// false: 组件模式
// true :集成模式
isModule = false
appId = [
user: "com.jacksean.wandroid.user",
]
2.在项目的build.gradle文件中引入全局配置
apply from:file('config.gradle')
3.在user模块中的build.gradle中添加
//apply plugin: 'com.android.library'
//根据isModule标签动态的切换 集成/组件模式
if (rootProject.isModule){
apply plugin: 'com.android.library'
}else{
apply plugin: 'com.android.application'
}
android {
defaultConfig {
//组件模式下
if (!rootProject.isModule){
applicationId rootProject.appId.user
}
}
//资源配置
sourceSets{
main{
//在组件模式下 使用不同的manifest文件
if(!rootProject.isModule){
manifest.srcFile 'src/main/module/AndroidManifest.xml'
}else{
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
}
这里需要自己手动添加application的时候AndroidManifest.xml文件
4.特别注意,在主模块下已经引用的user模块,所以需要配置一下
if (rootProject.isModule){
implementation project(':user')
}
结尾:其他子模块可以按照这种方式切换