开发中有开发环境、测试环境等很多不同的环境,不同环境会对应很多不同的配置,如友盟、融云、自己的服务器等,所以每次打包都会手动改很多地方。
为了方便管理,将配置信息统一写到项目根目录下的gradle.properties(没有的话,新建个)
内容如:
# pack: dev|test
pack=test
#服务端地址
serverurl.dev=\"https\://www.123dev.com/\"
serverurl.test=\"https\://www.123test.com/\"
#融云appkey
rongcloudappkey.dev=\"123213abd\"
rongcloudappkey.test=\"3453462342\"
一、比方说修改 AndroidMainfest.xml 里面的融云appkey:
<meta-data
android:name="RONG_CLOUD_APP_KEY"
android:value="${RONG_CLOUD_APP_KEY_VALUE}"
/>
然后在 build.gradle 里面配置:
1.在 apply plugin: 'com.android.application' 后面添加
Properties properties = new Properties()
properties.load(project.rootProject.file('gradle.properties').newDataInputStream())
String pack = properties.getProperty("pack", "dev")
2.修改 android{
defultConfig{
manifestPlaceholders = [RONG_CLOUD_APP_KEY_VALUE:properties.getProperty("rongcloudappkey."+pack)]
}
}
二、修改代码的配置信息,比如说代码里面的服务器url
1.修改 android{
defultConfig{
buildConfigField "String", "SERVER_URL", properties.getProperty("serverurl."+pack)
}
}
2.代码里面直接调用 BuildConfig.SERVER_URL,如果报错的话,clean一下
这时,打包的时候只需要修改 gradle.properties 里面的 page 值就可以了。