android——利用gradle实现多渠道打包并自定义包名(umeng多渠道)
2017-10-24 12:34
519 查看
1.首先在mainfest.xml文件中,给umeng_channel设置一个变量“${UMENG_CHANNEL_VALUE}”
2.在gradle中,配置flavors。
3.可以直接签名打包了。
这么打包,apk所在路径:项目路径\app\app-anzhi-release.apk
4.自定义包名方式
2.在gradle中,配置flavors。
productFlavors { yingyongbao { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_txyyb"] } s360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_360"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_baidu"] } xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_xiaomi"] } huawei { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_huawei"] } meizu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_meizu"] } lenovo { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_len"] applicationId 'com.songheng.beijingtianqikuaibao' } oppo { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_oppo"] } vivo { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_vivo"] } ali { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_ali"] } yingyonghui { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_yyh"] } sougou { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_sougou"] } anzhi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_anzhi"] } }
3.可以直接签名打包了。
这么打包,apk所在路径:项目路径\app\app-anzhi-release.apk
4.自定义包名方式
applicationVariants.all { variant -> variant.outputs.each { output -> if ('release'.equals(variant.buildType.name)) { def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def buildLable = "" def buildName = "" // 是否是连接测试服务器版本 if (rootProject.hasProperty('TestServer')) { buildLable = "${buildLable}_Test" } else { buildLable = "${buildLable}_Product" } //buildname 是channel名称 variant.productFlavors.each { product -> buildName = product.name } // 是否是testin版本 if (rootProject.hasProperty('TestIn')) { buildLable = "${buildLable}_TestIn" } def productName = "bjtqyb" def fileName = "${productName}_v${defaultConfig.versionName}_${releaseTime()}${buildLable}_${buildName}.apk" output.outputFile = new File("${rootDir}/outapks/", fileName) } } } }
相关文章推荐
- [置顶]Gradle 实现 Android 多渠道定制化打包
- Android Studio使用Gradle实现自动打包,签名,自定义apk文件名,多渠道打包,集成系统签名证书【附效果图附源码】
- Android开发之Jenkins+Gradle实现持续集成、apk多渠道打包
- 使用gradle的productFlavors实现Android项目多渠道打包
- 安卓学习笔记---Android 开发技巧-以友盟为例在Android Studio利用gradle进行多渠道打包和apk签名发布
- 使用gradle的productFlavors实现Android项目多渠道打包
- Gradle 实现 Android 多渠道定制化打包
- 使用gradle的productFlavors实现Android项目多渠道打包
- android开发之Jenkins+Gradle实现android开发持续集成、多渠道打包
- gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)
- Android利用腾讯Bugly实现一键多渠道打包+一包热更新全渠道
- Android使用Gradle实现多渠道打包
- Gradle 实现 Android 多渠道定制化打包
- Android利用Gradle多渠道打包如何动态替换资源,文字
- Android 使用gradle的productFlavors实现多渠道打包
- Android快速使用Gradle实现多渠道打包
- gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)
- Gradle 实现 Android 多渠道定制化打包
- Android 开发技巧-以友盟为例在Android Studio利用gradle进行多渠道打包和apk签名发布
- 使用gradle的productFlavors实现Android项目多渠道打包