在开发中经常分测试环境和正式环境,每次发布版本总是要修改服务器地址或者端口号。

其实可以在build.gradle中为测试环境和正式环境配置不同的服务地址,在编译的时候会自动根据当前的buildType选择不同的服务地址。

android {    buildTypes {        debug {            buildConfigField 'String', 'domain', '"http://192.168.0.1:5555/MyProject/"'        }        release {            buildConfigField 'String', 'domain', '"http://192.168.0.1:8888/MyProject/"'        }    }}

在自动生成的类BuildConfig中会新增domain字段,且在不同的buildType环境下的值是不一样的,如下:

测试环境的值

public final class BuildConfig {  public static final boolean DEBUG = Boolean.parseBoolean("true");  public static final String domain = "http://192.168.0.1:5555/MyProject/";}

生产环境的值

public final class BuildConfig {  public static final boolean DEBUG = Boolean.parseBoolean("true");  public static final String domain = "http://192.168.0.1:8888/MyProject/";}

调用方法

直接用BuildConfig调用,例如

String url = BuildConfig.domain;

注意事项

由于我们这里介绍的buildConfigField是String类型,所以要注意以下例子,前三种写法都是可以的,但是后两种是错误的

buildTypes {    debug {        // 单引号写法        buildConfigField 'String', 'string1', '\"string1value\"'        // 双引号写法        buildConfigField "String", "string2", "\"string2value\""        // 单双引号的写法,最简洁不用转义,推荐该写法        buildConfigField 'String', 'string3', '"string3value"'                // 以下两种写法都没转义,会报错        buildConfigField 'String', 'string4', 'string4value'        buildConfigField "String", "string5", "string5value"    }}

结果如下,可以看到最后两个生成的值没加双引号,不是字符串会报错,在IDE中会标红显示错误。

public final class BuildConfig {  public static final String string1 = "string1value";  public static final String string2 = "string2value";  public static final String string3 = "string3value";  public static final String string4 = string4value;  public static final String string5 = string5value;}

 

 

 

更多相关文章

  1. 正确获取Android(安卓)IP、MAC姿势
  2. Android: 八种燃爆了的菜单效果
  3. Android搭建opencv环境(超详细)
  4. android设备与蓝牙模块之间交互(蓝牙命令,收发)的两种方式,附DEMO下
  5. 安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.g
  6. AppCode iOS 应用开发 开发环境
  7. Android(安卓)Donut Makefile分析 (build/envsetup.sh)
  8. (三) 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7
  9. Android和WebOS上使用debian

随机推荐

  1. android 安全讲座第四层 手机Root授权原
  2. Android按钮的点击效果的总结
  3. android ant 打包遇到[aapt] invalid res
  4. Android(安卓)集成海康威视监控 SDK,实现
  5. Android Wear:创建可穿戴应用 - 概述
  6. Android Scroll分析
  7. Android覆盖升级以及apk签名
  8. 使用ant让Android自动打包的build.xml,自
  9. Android实用视图动画及工具系列之四:多状
  10. Nexus 6P 外媒评测:华为造出了最好的 Andr