如何设置APK文件名特定于风格和构建类型



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名称仅在这种情况下更改。

最新更新