Android Studio使用Gradle进行多渠道打包
来源:互联网 发布:工业企业数据库2015 编辑:程序博客网 时间:2024/05/16 01:15
使用Android Studio也有一段时间了,最近项目开发完成,内部测试也已经通过。下一步就是渠道打包,然后上线了。
在出渠道包的时候,若是出一个包,便手动修改一次渠道号,很显然是很费时费力的。庆幸的是,Android Studio采用的Gradle
可以很方便的实现我们的多渠道出包。
下面结合代码进行说明。
项目中使用的是友盟,在AndroidManifest.xml
中有这样的代码:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
其中${UMENG_CHANNEL_VALUE}中的值就是在gradle中自定义配置的值。
然后在项目的build.gradle
中利用productFlavors
进行多渠道的配置,在android
节点下添加如下代码:
productFlavors { official { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "official"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } _360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"] } samsung { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "samsung"] } huawei { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"] } lenovo { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "lenovo"] } }
项目实际情况,便是上线百度、360、三星、华为、联想这5个市场。
至此,所有的配置已经完成。下面开始编译出包了。
在Android Studio中打开Terminal:
输入指令gradlew assembleRelease
便可以生成所有的渠道包了。但是此次命令中使用的gradle版本无法控制,很有可能会去下其他的gradle版本,gradle的下载需要翻墙,若是没翻则会一直下载,耽误时间。
这里我们直接ctrl+c,再输入y,终止操作。使用下面的方法。
先找到gralde
的根目录,在系统变量里添加两个环境变量:
变量名为GRADLE_HOME
,变量值就为gradle的根目录。在我的环境里,使用的gradle 2.2.1的版本,目录是C:\Users\*****\.gradle\wrapper\dists\gradle-2.2.1-all\c64ydeuardnfqctvr1gm30w53\gradle-2.2.1
。
然后在系统变量path里面添加gradle的bin目录%GRADLE_HOME%\bin
。
这里配置完成了,接着在Terminal中敲下gradle assembleRelease
就可以一次性生成所有的渠道包了。
build成功后,便可生成所有渠道的渠道包了。
若是想单独生成某一个渠道包,先打开Android Studio右侧的Gradle
栏:
点到相应项目的build task中。
要生成什么渠道包,双击相应的栏目即可。
改进:将productFlavors改成如下,更加简洁些:
productFlavors { "official" {} "baidu" {} "_360" {} "samsung" {} "huawei" {} "lenovo" {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }
- Android Studio使用Gradle进行多渠道打包
- Android Studio使用Gradle多渠道自动打包
- android studio中使用gradle多渠道打包
- Android Studio 使用Gradle多渠道打包
- Android Studio 使用Gradle多渠道打包
- Android Studio Gradle 多渠道打包
- Android Studio--Gradle多渠道打包
- Android Studio--Gradle多渠道打包
- Android studio gradle 多渠道打包
- Android Studio Gradle多渠道打包
- Android studio gradle 多渠道打包
- Android Studio--Gradle多渠道打包
- Android Studio Gradle多渠道打包
- android studio gradle 多渠道打包
- Android Studio Gradle多渠道打包
- 【Android Studio】gradle多渠道打包
- 使用android studio进行多渠道打包
- 使用Android Studio进行多渠道打包
- git代码提交操作
- 图像处理:基础(模板、卷积运算)
- POJ3020 无向图的最小路径覆盖 无向图边覆盖 匈牙利算法巩固训练
- button adjustsImageWhenHighlighted
- j近年最火爆的3个程序行业
- Android Studio使用Gradle进行多渠道打包
- CodeForces 630A:Again Twenty Five!【水题】
- JS第10天
- Java编程时如何节省内存,效率高
- SkyLine_BS_二次开发_WMS服务加载
- session多服务器共享的方案梳理
- [疯狂Java]AWT:位图IO
- android 手势解锁的实现
- 如何解决消息发送一致性