打包时动态指定一些值

最近项目要上线了,所以经常需要打包.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文件的配置来修改一些变量的值,只需要修改一个地方,比较方便。

原文地址:https://www.cnblogs.com/a446276468/p/5563034.html