2017-02-19 2 views
2

В моем Gradle файл Объявляю VersionName и VersionCode какAndroid студии, как получить versionNameSuffix в коде

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; 

Но как могу ли я получить версиюNameSuffix? Для этого в BuildConfig нет поля.

ответ

2

BuildConfig.VERSION_NAME содержит конкатенацию versionName и versionNameSuffix как:

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

Если вам нужно только versionNameSuffix, вы можете создать новую переменную BuildConfig в вашем build.gradle так:

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"; 
+0

работает отлично, спасибо! –

Смежные вопросы