对于Android Studio中的Gradle: 有很多帖子解释了如何根据构建类型设置APK文件名。我不记得我是否根据口味找到了解释如何做到这一点。没有人解释如何在两者基础上做到这一点。
我有6种口味,当然还有2种构建类型(调试和发布)。我需要为每种风格指定仅用于发布的不同APK文件名。
正常的默认APK文件名应该用于所有调试版本。
所以,如果我的口味是A,B,C,D,E和F;那么只有当我构建一个发布版本时,我是否希望APK文件为A.apk,B.apk等。
答案 0 :(得分:1)
我已经编写了这段代码,它可以帮助您按照要求构建apk名称。请注意它位于" android"元素,作为" buildTypes"的兄弟姐妹。和" productFlavors":
android {
...
buildTypes {
release {
...
}
debug {
...
}
}
productFlavors {
A {
...
}
B {
...
}
C {
...
}
}
applicationVariants.all { variant ->
def buildType = variant.variantData.variantConfiguration.buildType.name
if (buildType == android.buildTypes.release.name) {
variant.outputs.each { output ->
def flavour = variant.productFlavors[0].name
def newName = flavour + ".apk"
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
}
我定义变量:
" if"条件检查您正在构建buildType" release",因此在这种情况下,apk名称只会更改。