Android Gradle 读取 local.properties¶
修改日期:2022-5-24
- 2022-5-24: 创建文档
本文目标
将一些信息写在local.properties中,gradle读取后,编入BuildConfig
观察工程的local.properties¶
新建Android App工程的时候,我们发现工程的 .gitignore 里写有/local.properties
。
也就是不让git追踪这个文件。
打开local.properties,里面一般写着ndk.dir
和sdk.dir
,例如
local.properties
这些配置因开发环境而异,不放进git里也是正常
ndk.dir=/Users/rustfisher/Library/Android/sdk/ndk-bundle
sdk.dir=/Users/rustfisher/Library/Android/sdk
接下来我们在local.properties添加需要的配置,并将其读取出来
新增配置¶
现在模拟一些配置
读取¶
接下来在工程的 build.gradle 中增加读取方法parseLocalProperties
- 先检查是否有这个key,再去读取值
- 这里我们将参数存放在
ext
里
在工程 build.gradle allprojects
调用上面的方法
编译¶
接下来在模块(例如app模块)的gradle配置进BuildConfig
模块的gradle
恰好 buildTypes {
debug {
buildConfigField "String", "V_APPID", "\"" + project['vappid'] + "\""
buildConfigField "String", "V_SID", "\"" + project['vsid'] + "\""
buildConfigField "String", "V_TOKEN", "\"" + project['vtoken'] + "\""
}
release {
buildConfigField "String", "V_APPID", "\"" + project['vappid'] + "\""
buildConfigField "String", "V_SID", "\"" + project['vsid'] + "\""
buildConfigField "String", "V_TOKEN", "\"" + project['vtoken'] + "\""
}
}
buildType
里有debug和release,我们这里都给它配置上。当然同一个字段debug和release可以有不同的值。
gradle同步一下和编译后,在BuildConfig里能找到V_APPID
这些值
做项目的时候,我们可以将一些配置信息写在local.properties里,上传代码的时候不把这些信息传上去。
参考¶
作者: rustfisher.com | rf.cs@foxmail.com
示例: AndroidTutorial Gitee, Tutorial Github
本文链接: https://www.an.rustfisher.com/android/gradle/gradle-read-local-prop/
一家之言,仅当抛砖引玉。如有错漏,还请指出。如果喜欢本站的内容,还请支持作者。也可点击1次下方的链接(链接内容与本站无关),谢谢支持服务器。
如有疑问,请与我联系:Android issues - gitee