android开发中,经常需要配置多个环境,而且如果用第三方库,每个环境的appid都不一样。我们期望的是只改变一个变量,其他的自动更改,否则,修改多个地方容易出错。
- 新建一个properties文件,添加key=value键值对;
config.properties文件env=ft //dev,ft, 只要修改这一个地方就可以切换环境了 appid.dev=dev_appid appkey.dev=dev_appkey appid.ft=ft_appid appkey.ft=ft_appkey
- 在gradle中读取其值
Properties properties = new Properties() properties.load(project.rootProject.file("config.properties").newDataInputStream()) //需要加后缀 String environment = properties.getProperty("env", "dev")
- 可以给manifest中的变量赋值,也可以存入buildConfig以便代码中调用
if("dev".equals(environment)) { buildConfigField "String", "cur_env", "\"dev\"" //也可以int }else if("ft".equals(environment) ) { buildConfigField "String", "cur_env", "\"ft\"" //也可以int }
写了一个demo:https://bitbucket.org/wuqiong657/property_gradle_demo/src