Android Studio中的Gradle:有很多帖子解释了如何根据构建类型设置APK文件名。我不记得我有没有找到任何根据味道来解释如何做的书。没有解释如何在两者的基础上做到这一点。
我有6种风格,当然,2种构建类型(调试&;释放)。我需要为每个版本指定一个不同的APK文件名。
正常的默认APK文件名应该用于所有调试构建。
如果我的口味是A B C D E F;那么只有当我构建一个发布版本时,我想要APK文件是A.apk, B.apk等
我已经编写了这段代码,它有助于按照您的要求构建apk名称。注意,它是在"android"元素中,作为"buildTypes"one_answers"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)
}
}
}
}
我定义了以下变量:
- buildType:在Build Variant选项卡中选择的buildType的名称。
- flavor:您在Build Variant选项卡中选择的flavor名称。
"if"条件检查您正在构建buildType "release",因此apk名称仅在这种情况下更改。