不同的buildType,使用applicationIdSuffix,生成不同的applicationId
1.在android studio 3.0以前,导入依赖使用的还是compile的时候:
android {
compileSdkVersion 26
defaultConfig {
applicationId "XXX.XXX.XXX"
}
buildTypes {
debug {
...
applicationIdSuffix ".debug"
// Version名につけるサフィックス
versionNameSuffix '-dev'
...
}
staging {
...
applicationIdSuffix ".debug"
// Version名につけるサフィックス
versionNameSuffix '-stg'
...
}
release {
...
}
}
...
// 重点
apt {
arguments {
resourcePackageName "XXX.XXX.XXX"
}
}
...
}
2.在android studio 3.0以后,导入依赖使用implementation和api的时候:
android {
compileSdkVersion 26
defaultConfig {
applicationId "XXX.XXX.XXX"
// 重点
javaCompileOptions {
annotationProcessorOptions {
arguments = ['resourcePackageName': android.defaultConfig.applicationId]
}
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
// Version名につけるサフィックス
versionNameSuffix '-dev'
}
staging {
applicationIdSuffix ".debug"
// Version名につけるサフィックス
versionNameSuffix '-stg'
}
release {
...
}
}
}