使用Gradle管理Debug/Release版本的Key

  在开发过程中经常会遇到debug/release版本中某个值需要动态改变方便开发和测试,就像BuildConfig的DEBUG一样,在debug版本中为true,release版本中为false,这样不用我们手动每次去修改,在开发过程中还是比较方便的。

 最近的工作中由于使用到了百度地图SDK,使用过百度地图SDK的人可能知道百度给我的Key是根据我们的秘钥sha1和包名生成的,所以这样就产生了一个问题,当我们打包debug和release包时需要不同的key,或者使用gradle productFlavors修改applicationId同时打多个不同版本的包时,每个版本包的key是不同的,这就需要我们动态设置key

所以我们的需求是

debug:key=1234
release:key=56789

这样我们就不用每次修改Key再去打包了,那如何实现呢?

1.在AndroidManifest.xml设置占位

<meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="${baiduMapKey}"/>

${baiduMapKey} baiduMapKey这个值是动态的,需要我们设置

2.在build.gradle中设置Debug/Release的baiduMapKey

buildTypes {
    debug {
        manifestPlaceholders = [baiduMapKey: "1234"]
    }

    release {
        manifestPlaceholders = [baiduMapKey: "5678"]

    }
}

3.执行gradlew assembleDebug/assembleRelease

这个时候的debug版本key=1234
release版本key=5678

就这么简单的完事了,是不是很简单方便
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值