我有一个具有许多flavor(A,B,C)和两种构建类型(debug,release)的应用程序
在构建类型中,debug我为应用程序ID添加了一个后缀,如下所示:
debug {
applicationIdSuffix '.debug'
}
Run Code Online (Sandbox Code Playgroud)
这对于口味很好A,B但我不能附加.debug到flavor 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)
}
Run Code Online (Sandbox Code Playgroud)
是否可以根据风格覆盖变体应用程序ID.例如,我的计划是做这样的事情:
variant.buildType.name.replace('.debug','')
是否可以根据风味覆盖变体应用程序 ID
对的,这是可能的。
您看不到预期 id 的原因是:
由于 Gradle 在产品风味之后应用构建类型配置,因此“C”构建变体的应用程序 ID 将为“
<your-applicaion-id>.debug”。
因此,如果您希望不同口味的产品不同,那么您必须将applicationIdSuffix不同口味的产品分开并将其从debug {}以下位置中删除:
android {
defaultConfig {
applicationId "<your-application-id>"
}
productFlavors {
A {
applicationIdSuffix ".debug"
}
B {
applicationIdSuffix ".debug"
}
C {
applicationIdSuffix ""
}
}
}
Run Code Online (Sandbox Code Playgroud)
更多详情请参考官方文档。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |