在开发中经常分测试环境和正式环境,每次发布版本总是要修改服务器地址或者端口号。
其实可以在build.gradle中为测试环境和正式环境配置不同的服务地址,在编译的时候会自动根据当前的buildType选择不同的服务地址。
1 | android { |
在自动生成的类BuildConfig中会新增domain字段,且在不同的buildType环境下的值是不一样的,如下:
测试环境的值
1 | public final class BuildConfig { |
生产环境的值
1 | public final class BuildConfig { |
调用方法
直接用BuildConfig调用,例如
1 | String url = BuildConfig.domain; |
注意事项
由于我们这里介绍的buildConfigField是String类型,所以要注意以下例子,前三张写法都是可以的,但是后两种是错误的
1 | buildTypes { |
结果如下,可以看到最后两个生成的值没加双引号,不是字符串会报错,在IDE中会标红显示错误。
1 | public final class BuildConfig { |