Gradle使用技巧2——不同buildType使用不同applicationId
来源:互联网 发布:js倒计时10秒代码 编辑:程序博客网 时间:2024/06/18 16:08
在工作中,有的时候会遇到比较奇葩的需求,就是线上环境和开发环境不能使用同一个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了!
- Gradle使用技巧2——不同buildType使用不同applicationId
- Gradle使用技巧1——根据buildType自动打包
- 使用Gradle构建多个不同applicationId包
- 使用Gradle构建多个不同applicationId包
- 使用Gradle构建多个不同applicationId包
- 使用Gradle构建多个不同applicationId包
- 使用Gradle构建多个不同applicationId包
- 使用Gradle构建多个不同applicationId包
- Gradle实现不同的applicationId
- Android gradle 中使用 buildType
- 谈谈Android开发中的Gradle那些事之不同BuildType编译出不同版本号的apk
- gradle中使用productFlavors实现不同渠道包的应用名不同和logo不同
- Android使用gradle不同配置多项目打包
- Android使用gradle不同配置多项目打包(升级版)
- Eclipse下Gradle使用不同资源打包多版本应用
- 使用Gradle生成一个App的不同版本
- 不同行业使用不同域名
- 不同tomcat使用不同JDK
- C++win32、win64、linux32、linux64中各数据类型占字节数
- iOS-MVVM设计模式
- HDU 3068 最长回文
- 开发中各种对话框的使用
- 【计蒜客】20 - 跳跃游戏二(dp)
- Gradle使用技巧2——不同buildType使用不同applicationId
- tomcat path配置
- Angular 动画实现方式和原生动画实现方式记录
- FMPEG结构体分析:AVStream
- 数据结构实验之查找六:顺序查找
- 赛马问题
- 镜像二叉树,递归
- 04.1#数据分析-R入门书籍笔记(一点点东西)
- EF对oracl数据库操作 为表新增一行 VS2012 C#语言