Android Studio如何在代码中获取versionNameSuffix

时间:2017-02-19 17:59:27

标签: android gradle android-gradle version

在我的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"
}

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

检索versionCode和versionName
applicationInformation.VERSIONNAME = BuildConfig.VERSION_NAME;
applicationInformation.VERSIONCODE = BuildConfig.VERSION_CODE;

但是如何获得versionNameSuffix? BuildConfig中没有一个字段。

1 个答案:

答案 0 :(得分:2)

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 + "\""
    }
}

您现在可以从VERSION_NAME_SUFFIX获取BuildConfig.VERSION_NAME_SUFFIX的功能:

public static final String VERSION_NAME_SUFFIX = ".alpha1";