android studio通过build.gradle动态改变AndroidMainfest.xml

开发中有开发环境、测试环境等很多不同的环境,不同环境会对应很多不同的配置,如友盟、融云、自己的服务器等,所以每次打包都会手动改很多地方。

为了方便管理,将配置信息统一写到项目根目录下的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 值就可以了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值