取决于调试或发行版的不同apk文件的基本名称未按要求应用

peu*_*hse 5 android gradle apk

在构建我的android应用时,我尝试根据调试或发布模式提供不同的基本名称。但是它从来没有达到我的期望,我也想不出如何解决它。

我的gradle中有一个android部分,看起来像这样:

def applicationVersionCode() {
    return 14;
}

def applicationVersionName() {
    return "1.5";
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy' // fix for https://github.com/loopj/android-async-http/issues/830
    }

defaultConfig {
    applicationId defaultApplicationId
    versionCode applicationVersionCode()
    versionName applicationVersionName()

    project.ext.set("archivesBaseName", "AppName-" + applicationVersionName() + applicationVersionCode())

    minSdkVersion 16
    targetSdkVersion 17
}

buildTypes {
    debug {
        minifyEnabled false
        versionNameSuffix "." + applicationVersionCode() + "-SNAPSHOT"
        applicationIdSuffix ".debug"
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
}
Run Code Online (Sandbox Code Playgroud)

在构建调试模式时,应用会获得名称:

AppName-1.14-debug.apk
Run Code Online (Sandbox Code Playgroud)

当我添加:

project.ext.set("archivesBaseName", "AppName-" + applicationVersionName() + applicationVersionCode())
Run Code Online (Sandbox Code Playgroud)

它的名字是:

AppName-1.14-SNAPSHOT-debug.apk
Run Code Online (Sandbox Code Playgroud)

但是发行版本获得以下名称:

AppName-1.14-SNAPSHOT-release.apk
Run Code Online (Sandbox Code Playgroud)

我希望apk的不同名称是:

AppName-1.14-SNAPSHOT.apk
AppName-1.14-release.apk
Run Code Online (Sandbox Code Playgroud)

我想念什么?