Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android Studio中为Gradle的apk设置应用程序名称_Android_Android Studio_Gradle_Android Gradle Plugin - Fatal编程技术网

如何在Android Studio中为Gradle的apk设置应用程序名称

如何在Android Studio中为Gradle的apk设置应用程序名称,android,android-studio,gradle,android-gradle-plugin,Android,Android Studio,Gradle,Android Gradle Plugin,我尝试如下设置apk的应用程序名称,因为gradle默认名称为app-release.apk defaultConfig { applicationId "in.name.mobile" minSdkVersion 16 targetSdkVersion 28 versionCode 20 versionName "1.1" setProperty("archivesBaseName","${appn

我尝试如下设置apk的应用程序名称,因为gradle默认名称为app-release.apk

defaultConfig {
        applicationId "in.name.mobile"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 20
        versionName "1.1"
        setProperty("archivesBaseName","${appname}")
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
下面

但是我不能得到预期的结果

试试这个:

applicationVariants.all { variant ->
    variant.outputs.all{
        def SEP = "_"
        def flavor = variant.productFlavors[0].name
        def buildType = variant.variantData.variantConfiguration.buildType.name
        def newApkName = flavor + SEP + buildType + ".apk"
        outputFileName = newApkName
    }
}

您可以添加任何您想添加的内容,而不是flavor、buildType和SEP。这只是一个示例。

它为variant.productFlavors[0].name抛出空值。我不使用productFlavor,因为我只需要一个apk文件。我已经在defaultConfigapkName中包含了我的applicationId,applicationId是完全不同的东西。如果您不使用productFlavor,您是否可以尝试删除它?applicationVariants.all{variant->variant.outputs.all{def newApkName=defaultConfig.applicationId+“.apk”outputFileName=newApkName}
setProperty("archivesBaseName","$applicationId".substring(2,"$applicationId".length()-7))
applicationVariants.all { variant ->
    variant.outputs.all{
        def SEP = "_"
        def flavor = variant.productFlavors[0].name
        def buildType = variant.variantData.variantConfiguration.buildType.name
        def newApkName = flavor + SEP + buildType + ".apk"
        outputFileName = newApkName
    }
}