1.需求:
1.能够在配置文件中指定不同软件版本对应的服务器地址,免除开发人员多次修改服务器地址的工作,避免错误。
2.同时生成不同版本的apk,避免重复无意义的工作。
2.改进:
思路:
引入 Jenkins 服务自动打包,在gradle脚本中,使用 buildConfigField 声明一个字段,编译成功后,会为这个字段生成静态常量,我们可以在代码中使用这个常量。然后在gradle 的 buildTypes中配置不同的编译类型(比如测试,开发,上线三种类型),每个类型指定不同的字段的值。而在成功build后,gradle会为不同的类型环境生成不同的apk包,一次性就生成了测试,开发,上线三个apk包。
3.实现方式:
- 修改 build.gradle , 配置buildTypes 下的 buildConfigField字段
buildTypes {
release {
minifyEnabled false
buildConfigField("String","API_HOST","\"http://www.jinlinbao.com\"")
}
debug{
debuggable true
minifyEnabled false
buildConfigField("String","API_HOST", "\"http://192.168.1.245\"")
}
}
注意上面带下划线字体的部分。
这个方法需要三个参数,分别是字段变量类型,变量名,和值。比如这里的