Android Studio在build.gradle定义全局变量,release、debug版本区分
前言
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版本的分别配置就写到这里了,对于老手,这是很简单的一个常规操作,但是对于新手,还需要仔细配置一下,多多验证,以免出错。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfgeke
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13