在Android Studio 3.5中重命名具有构建变体的应用程序的存档名称

在Android Studio 3.5中重命名具有构建变体的应用程序的存档名称,android,android-studio,gradle,build.gradle,apk,Android,Android Studio,Gradle,Build.gradle,Apk,我使用以下渐变代码为多个apk构建单一代码: flavorDimensions "version" productFlavors { Free { dimension "version" applicationId "com.exampleFree.app" } Paid { dimension "version" applicationId

我使用以下渐变代码为多个apk构建单一代码:

flavorDimensions "version"

    productFlavors {
        Free {
            dimension "version"
            applicationId "com.exampleFree.app"
        }
        Paid {
            dimension "version"
            applicationId "com.examplePaid.app"
        }
    }
现在,当我构建时,它会创建存档应用程序,如下所示:

app-Free-debug.apk
当我在gradle中包含以下代码时

setProperty("archivesBaseName","")
它现在创建如下APK存档名称

-Free-debug.apk
我需要我的APK文件名如下

Free-debug.apk

我已经很接近了,但是如何删除这个广告词-它是在前缀中附加的?

这里你可以像这样使用android迁移

android {

//........
flavorDimensions "version"
productFlavors {
    Free {
        dimension "version"
        applicationId "com.exampleFree.app"
    }
    Paid {
        dimension "version"
        applicationId "com.examplePaid.app"
    }
}

applicationVariants.all { variant ->
    variant.outputs.all { output ->
        def appId = variant.applicationId// com.exampleFree.app OR com.examplePaid.app
        def versionName = variant.versionName
        def versionCode = variant.versionCode // e.g 1.0
        def flavorName = variant.flavorName // e. g. Free
        def buildType = variant.buildType.name // e. g. debug
        def variantName = variant.name // e. g. FreeDebug

        //customize your app name by using variables
        outputFileName = "${variantName}.apk"
    }
}}
Apk名称FreeDebug.Apk

证明


这可能会有帮助-我已经添加了我的答案,如果这个答案解决了你的问题,请接受它作为一个答案,以便其他未来的人可以研究它。是的,但我得到免费的com.android.build.gradle.internal.api。ReadOnlyBuildType@2b5e6b50.apk当我这样做的时候outputFileName=${flavorName}-${buildType}.apkGot它!它的outputFileName=${flavorName}-${buildType.name}.apkThanks@HappySingh谢谢,顺便说一句,在哪里搜索像outputFileName这样的gradle变量名更好?@AntonMalyshev是的,据我所知,这很好,但是可以有更好的方法。如果您能找到,请告诉我。@HappySingh只是想知道您在哪里找到变量名outputFileName。。。