【Gradle 学习】(八)- buildConfigField 自定义常量
前言
今天继续 Gradle 学习,看看 defaultConfig 中怎么自定义属性的
在应用编译过程中我们经常会用到 BuildConfig.DEBUG 或者 BuildConfig.RELEASE 来区分开发还是正式环境。
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String BUILD_TYPE = "debug";
}
BuildConfig.java 是 Android Gradle 自动生成的一个 java 类文件,无法手动编译,但是可以通过 Gradle 控制,也就是说这里是动态可配置的。在 defaultConfig{} 中使用 buildConfigField 为 BuildConfig 配置自定义属性。
defaultConfig{} 中使用 buildConfigField 格式为:
defaultConfig {
buildConfigField "数据类型", "常量名", "常量值"
}
- 数据类型,是定义的常量值是个什么类型,和 Java 的类型是对等的,比如 String,Int。
- 常量名,就是定义的常量名
- 常量值,如此定义之后,就会在 BuildConfig.java 中生成对应的常量
使用 buildConfigField 之后,会在相应的 module 下的 build/generated/source/buildConfig/构建变种名(buildType buildFlavor)/包名/BuildConfig 文件内生成相应的属性。
看个🌰 : 这里以生产环境和测试环境为例来说明该功能的使用。
我们在开发 App 的时候免不了要和服务器进行通信,服务器一般都有生产和测试环境,当我们处理开发和测试的时候使用测试环境进行调试,正式发布的时候使用生成环境。使用 buildConfigField 定义常量,并指定不同环境使用不同的值。
android {
defaultConfig {
buildConfigField'String','API_SERVER_URL','"http://test.cn/"'
}
productFlavors {
google{
buildConfigField 'String','API_SERVER_URL','"http://release.cn/"'
}
baidu{
buildConfigField 'String','API_SERVER_URL','"http://release.cn/"'
}
}
}
这里使用 buildConfigField 定义了一个名为 API_SERVER_URL
的 String 类型常量。在对应的 sourceSet 的 BuildConfig.java 中会生成一个常量名为 API_SERVER_URL
的常量定义。默认配置的生成是:
public final static String API_SERVER_URL = "http://test.cn/"
当构建 baidu 和 google 渠道的时候生成的就是 release.cn/ 了。这个常量可以在我们编码中引用。在我们进行打包的时候会根据 Gradle 配置动态替换。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanejih
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01