打包时动态指定一些值
Posted 夜空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打包时动态指定一些值相关的知识,希望对你有一定的参考价值。
最近项目要上线了,所以经常需要打包.apk进行测试。
那么就有一个问题:有时候需要本地环境,有时候需要测试环境,还有生产环境,这些环境的一些baseUrl,证书文件(.der)都不同。在修改的时候要改好几个地方,不太方便,而且容易忘记。
能不能只改一个地方呢?那是必须可以的。
在build.gradle文件中:
defaultConfig { buildConfigField("String", "BaseUrl", "\"https://192.168.1.1/api/v1\"")//银行测试环境 buildConfigField("String", "DER", "\"xxx.der\"")//银行测试环境 }
buildCongigField的三个参数:变量类型,变量名,变量值。
buildCongigField可以定义一个变量,这个变量在任何环境下都可以使用。
buildCongigField的使用:
String s = BuildConfig.BaseUrl;
这样在程序中可以根据build.gradle文件的配置来修改一些变量的值,只需要修改一个地方,比较方便。
以上是关于打包时动态指定一些值的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
maven 打包时动态替换properties资源文件中的配置值