項目架構:就其中的一個子模塊為例(user)
圖片.png
1.在全局配置文件中添加isModule,appId
// false: 組件模式
// true :集成模式
isModule = false
appId = [
user: "com.jacksean.wandroid.user",
]
圖片.png
2.在項目的build.gradle文件中引入全局配置
apply from:file('config.gradle')
圖片.png
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文件
圖片.png
圖片.png
4.特別注意,在主模塊下已經引用的user模塊,所以需要配置一下
if (rootProject.isModule){
implementation project(':user')
}
結尾:其他子模塊可以按照這種方式切換