Android Studio如何在代码中获取versionNameSuffix

Android Studio how to get versionNameSuffix in code

在我的 Gradle 文件中,我将 VersionName 和 VersionCode 声明为

defaultConfig {
    minSdkVersion 17
    targetSdkVersion 25
    versionCode 2
    versionName "1.0"
    versionNameSuffix ".alpha1"
    setProperty("archivesBaseName", "MyApp.$versionName.$versionCode$versionNameSuffix")
    signingConfig signingConfigs.config
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

在我的应用程序中,我可以使用

检索版本代码和版本名称
applicationInformation.VERSIONNAME = BuildConfig.VERSION_NAME;
applicationInformation.VERSIONCODE = BuildConfig.VERSION_CODE;

但是我怎样才能得到versionNameSuffix呢? BuildConfig 中没有对应的字段。

BuildConfig.VERSION_NAME 包含 versionNameversionNameSuffix 的串联,例如:

public static final String VERSION_NAME = "0.71.alpha1";

如果您只需要 versionNameSuffix,您可以像这样在 build.gradle 中创建一个新的 BuildConfig 变量:

buildTypes {
    debug {
        buildConfigField "String", "VERSION_NAME_SUFFIX", "\"" + defaultConfig.versionNameSuffix + "\""
    }

    release {
        buildConfigField "String", "VERSION_NAME_SUFFIX", "\"" + defaultConfig.versionNameSuffix + "\""
    }
}

您现在可以从 BuildConfig.VERSION_NAME_SUFFIX 获得 VERSION_NAME_SUFFIX,其特点是:

public static final String VERSION_NAME_SUFFIX = ".alpha1";