我的应用程序有很多种类(A,B,C
)和两种构建类型(debug
,release
)
在构建类型debug
中,我为应用程序ID添加了一个后缀,如下所示:
debug {
applicationIdSuffix '.debug'
}
这适用于各种口味A
和B
,但我无法将.debug
添加到C
的应用ID中。
我已经看过这个变种,就像我对versionCode
一样,但没有运气。
applicationVariants.all { variant ->
def changedVersionCode = variant.versionCode
variant.
variant.outputs.each { output ->
if (variant.buildType.name != "debug") {
output.setVersionCodeOverride(project.ext.versionCode)
changedVersionCode = project.ext.versionCode
}
}
changeApkFileName(variant,changedVersionCode)
}
是否可以根据风格覆盖变体应用程序ID。例如,我的计划是做这样的事情:
variant.buildType.name.replace('.debug','')
答案 0 :(得分:4)
是否可以根据风格覆盖变体应用程序ID
是的,这是可能的。
您无法看到预期ID的原因是:
由于Gradle在产品flavor之后应用构建类型配置,因此“C”构建变体的应用程序ID将为“
<your-applicaion-id>.debug
”。
因此,如果您希望它针对不同的风格有所不同,那么您必须将applicationIdSuffix
与不同的风格分开,并将其从debug {}
中删除,如下所示:
android {
defaultConfig {
applicationId "<your-application-id>"
}
productFlavors {
A {
applicationIdSuffix ".debug"
}
B {
applicationIdSuffix ".debug"
}
C {
applicationIdSuffix ""
}
}
}
有关详细信息,请参阅官方documentation。