Gradle使用技巧2——不同buildType使用不同applicationId

在工作中,有的时候会遇到比较奇葩的需求,就是线上环境和开发环境不能使用同一个applicationId,比如在使用推送的时候(小米推送),不同的KEY对应不同的applicationId,如果在注册的时候只使用同一个KEY,那么平时开发测试的时候很容易就导致消息发到了线上环境,这怎么办呢?
还能怎么办?在推送网站上申请两个账号呗,一个测试账号,一个正式账号。然后在初始化推送服务的时候可以根据 BuildConfig.DEBUG 来判断使用哪个KEY。但是包名怎么办呢?如果像以前使用eclipse开发,这个问题确实不太好弄,因为一般包名都是在AndroidMainfest里写的,牵一发而动全身啊!幸亏现在有了Gradle,applicationId和packageName区别开了。
在gradle配置文件里会设置applicationId属性,一般和包名一样,它是用来作为app的唯一标示,而AndroidMainfest里的packageName真的就只是包名了。这样在开发环境使用推送的时候就可以另外使用一个包名,比如com.XXX.test。
这样一来平时使用的applicationId就是com.XXX.test,在打包的时候 把test去掉就好了。
但是这样也比较麻烦,每次都要去改这个代码,万一忘了发的包就会有问题。能不能智能一点,debug的时候就是带test的,release的时候就不带呢?答案当然是可以!
废话不多说,直接上代码吧!
defaultConfig {
  applicationId "cn.ks.yun"
}
buildTypes {
  release {
    minifyEnabled true
    shrinkResources true
    proguardFile 'proguard-rules.pro'
}
  debug {
     applicationIdSuffix "test"
}
}

在debug里添加了一个applicationIdSuffix,给applicationId加后缀,这样就可以实现在release和debug中使用不同的applicationId了!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值