前言
Android App在開發的程序中,也有debug、release版本,對于兩個版本同一個引數,不一樣的value,則需要單獨配置,配置過后,就不需要在發布的時候,因為版本不一樣而去修改這些引數,
第一步,專案中新建組態檔
在 Project 目錄下,新建組態檔 config.gradle,其內容如下:
ext{
url = [
"debug":"https://......",
"release":"https://......"
]
isEnableLog = [
"debug": false,
"release": false
]
wellcomeWords = [
"debug": "您好,這是測驗版",
"release": "您好,正式版本"
]
}
第二步,專案中引入組態檔
在 Project 的 build.gradle 檔案中,引入組態檔:
apply from:"config.gradle"
第三步,模塊中引入配置及變數
- 在 Moudle 的 build.gradle 檔案 的 android 項下,新增配置引數signingConfigs ,如下:
signingConfigs {
release {
// keyAlias RELEASE_KEY_ALIAS
// keyPassword RELEASE_KEY_PASSWORD
// storeFile file('C:/appsign/abc.jks')
// storePassword RELEASE_KEYSTORE_PASSWORD
}
debug {
// keyAlias RELEASE_KEY_ALIAS
// keyPassword RELEASE_KEY_PASSWORD
// storeFile file('C:/appsign/abc.jks')
// storePassword RELEASE_KEYSTORE_PASSWORD
}
}

- 在 buildTypes的 release、debug 中,分別引入要使用的變數,如下:
//release中增加配置
signingConfig signingConfigs.release
buildConfigField "Boolean", "IS_ENABLE_LOG", "${isEnableLog.release}"
buildConfigField("String", "HTTP_URL", "\"${url.release}\"")
resValue("string", "wellcomeWords", "${wellcomeWords.release}")
//debug中增加配置
signingConfig signingConfigs.debug
buildConfigField "Boolean", "IS_ENABLE_LOG", "${isEnableLog.debug}"
buildConfigField("String", "HTTP_URL", "\"${url.release}\"")
resValue("string", "wellcomeWords", "${wellcomeWords.debug}")
- 注意事項:
.java中使用需要使用 buildConfigField 進行配置
注意buildConfigField(“資料型別”,“變數欄位”,“gradle.propertles中的值”)
buildConfigField中的資料型別使用標準型別命名 – 如:String
編譯后,自動生成在java/包名/BuildConfig.java檔案中;
.xml中使用需要使用 resValue 進行配置
resValue(“資料型別”,“變數欄位”,“gradle.propertles中的值”)
resValue中使用小寫命名 – 如:string
編譯后,自動生成在res/values/(generated)中gradleResValues.xml檔案中,
第四步,使用
- java檔案中使用
BuildConfig.IS_ENABLE_LOG
BuildConfig.HTTP_URL
- xml中使用
在xml中使用,和使用values/strings.xml中變數一個用法:
android:text="@string/wellcomeWords"
第五步,擴展
經過第四步的使用之后,那么strings.xml是不是也可以分為debug版本和release版本,答案是的;直接在 buildTypes 下,增加strings.xml的版本區分:
// release下增加
applicationIdSuffix ".release"
resValue "string", "app_name", "@string/app_name_release"
// release下增加
applicationIdSuffix ".debug"
resValue "string", "app_name", "@string/app_name_debug"
總結
使用Android studio對debug、release版本的分別配置就寫到這里了,對于老手,這是很簡單的一個常規操作,但是對于新手,還需要仔細配置一下,多多驗證,以免出錯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352253.html
標籤:其他
上一篇:Android~檔案存盤案例
