2017-03-01 60 views
0

當更新我的應用程序時,我想將versionCode和versionName存儲在一個地方,因爲它需要在Gradle中並且在應用程序中可見。搖籃的Android Studio Gradle使用變量

部分:

defaultConfig { 
    applicationId "my.awesome.app" 
    minSdkVersion 19 
    targetSdkVersion 23 
    versionCode 8 
    versionName "1.8.0" 
} 

strings.xml中的部分:

<string name="app_name">My Awesome App</string> 
<string name="app_version_code">8</string> 
<string name="app_version_name">v.1</string> 
<string name="foo_version">8</string> 
<string name="bar_version">.0</string> 
<string name="version">Version</string> 

我已經使用的strings.xml在manifest.xml:

android:versionCode="@string/app_version_code" 
android:versionName="@string/app_version_name"> 

似乎愚蠢到我有這個數據在2個地方。我怎樣才能從strings.xml的值到gradle?

回答

3

首先,你不需要在AndroidManifest.xml指定android:versionCodeandroid:versionName如果您在build.gradle指定它們(你好嗎?)。

其次,框架會爲您生成一個BuildConfig.java類,其中包含您在此問題範圍內需要的所有信息。我想你需要參考這些數值由於某些原因:

enter image description here

所以,你可以參考如通過您的代碼從任何地方的版本代碼

BuildConfig.VERSION_CODE;