android gradle两种多渠道打包方式

gradle多渠道打包,目前已经了解到的有两种方式:

  • 一种是利用gradle的manifestPlaceholders属性来替换渠道值
  • 另一种是不同的渠道包打不同的资源

一、利用gradle的manifestPlaceholders属性来替换渠道值

1、渠道信息一般在 AndroidManifest.xml中:

<application<meta-dataandroid:name="UMENG_CHANNEL"android:value="${CHANNEL_NAME_VALUE}" />
</application>

2、然后在你的build.gradle的android{}节点里面,添加productFlavors节点,代码如下:

android {
// 其他配置信息...productFlavors {wandoujia {}baidu {}c360 {}uc {}productFlavors.all { flavor ->flavor.manifestPlaceholders = [CHANNEL_NAME_VALUE: name]}}
// 其他配置信息...
}

3、生成全部渠道包

在android studio底栏中有个命令行工具Terminal,打开后自动切换到当前项目的目录下,项目下会有graldew.bat这个文件,输入以下命令:

gradlew assembleRelease

就可以一次性生成所有的渠道包了

注:运行gradlew assembleRelease命令前,确保gradle环境变量已配置:

4、gradle环境变量配置

1)、打开我的电脑->属性->高级->环境变量。

2)、新建用户变量GRADLE_HOME

 变量名:GRADLE_HOME变量值:C:\Users\xueliangxia\.gradle\wrapper\dists\gradle-2.9-all\1aw2ic01pldw5fkvoq6t1fsz4\gradle-2.9

3)、选择“新建用户”中变量名为“Path”的环境变量,双击该变量,并使用半角的分号和已有的路径进行分隔。

 变量名:Path变量值:C:\Users\xueliangxia\.gradle\wrapper\dists\gradle-2.9-all\1aw2ic01pldw5fkvoq6t1fsz4\gradle-2.9\bin

5、渠道包截图:

二、第二种实现方式,不同渠道打不同的资源

1、在app/src下面,分别创建和main同级目录的文件夹umeng, wandoujia, yingyongbao,这三个文件夹里面都各只有一个AndroidManifest.xml文件,文件只需要如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="xiaxl.le.com.myapplication"><application><meta-data android:name="UMENG_CHANNEL" android:value="UMENG"/></application>
</manifest>

Ps:上面的value的值要和你的渠道名所对应。比如wandoujia里面要对应为你豌豆荚上的渠道名(如WANDOUJAI)。“xiaxl.le.com.myapplication”为包名,记得替换

2、然后在你的build.gradle的android{}节点里面,添加productFlavors节点,代码如下:

android {// 这里是你的其他配置productFlavors{umeng{  }wandoujai {  }yingyongbao{  }}// 你的其他配置
}

3、运行gradlew assembleRelease生成全部渠道包

Ps:若多渠道打包遇到问题 or 遇到签名问题,可参考:
http://xiaxveliang.blog.163.com/blog/static/29708034201602744846450/

代码下载地址如下:
http://download.csdn.net/detail/aiwusheng/9419790

android gradle两种多渠道打包方式相关推荐

  1. android多渠道打包签名配置,Gradle For Android(二) 多渠道打包与签名配置

    <Gradle For Android(二) 多渠道打包与签名配置> 转载请注明来自 傻小孩b(gold.xitu.io/user/57e089-喜欢的能够关注我,不按期总结文章!您的支持 ...

  2. android多渠道打包插件,Android几种多渠道打包的步骤详解

    1.什么是多渠道打包 在不同的应用市场可能有不同的统计需求,需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包.在安装包中添加不同的标识,以此区分各个渠道,方便统计app在市场的 ...

  3. android项目两种构建方式的整合(Eclipse/idea和Android Studio)

    android的两种构建方式 目前android主要有两种构建方式,一种基于ant(传统的),另一种是13年Google/IO上新推出基于Gralde的构建(Android Studio).从sdk的 ...

  4. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  5. Android系统从驱动到上层服务再到应用的两种服务架构方式

    Android系统从驱动到上层服务再到应用的两种服务架构方式 1)使用类似sensor service的方式: 此方式用于,service的接口不想暴露给上层activity直接使用的情形 例如sen ...

  6. android studio gradle 自动更新,android studio gradle 两种更新方法更新

    又快一年没有使用AS了,正好要查看一个Android项目代码,干脆升级到新版试试看新变化,旧版本为3.1.2,目前最新版本为3.4.2,AS的升级是很简单的直接update等待即可. 升级完了,打开G ...

  7. Android方法的概括,Android_Android中startService基本使用方法概述,Android中有两种主要方式使用Ser - phpStudy...

    Android中startService基本使用方法概述 Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindServi ...

  8. android登录加密传输,android环境下两种md5加密方式(示例代码)

    在平时开发过程中,MD5加密是一个比較经常使用的算法,最常见的使用场景就是在帐号注冊时,用户输入的password经md5加密后,传输至server保存起来.尽管md5加密经经常使用.可是md5的加密 ...

  9. Android grade语法,多渠道打包

    Android grade语法,多渠道打包 文章目录 Android grade语法,多渠道打包 一.groovy语法 二.自动打包切换测试正式环境 三.gradle多渠道打包 总结 一.groovy ...

最新文章

  1. 学习前端工程师手册--学习记录
  2. ERROR: No query specified
  3. 微软发布 VS Code Java 安装程序,一键安装所有 Java 开发环境
  4. Thinking in AJAX(二) —— 基于AJAX的WEB设计
  5. markdown不允许还有人不会
  6. python k线斜率计算_关于数据拟合:找到斜率变化点作为自由参数 – Python
  7. python环境下使用opencv把视频切割成图片
  8. php禁止贪婪,php正则表达式中贪婪与非贪婪介绍
  9. Smartbi报表工具的学习笔记,如何学好报表分析?
  10. 错误记录:FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecate
  11. noip模拟赛 whzzt-Warmth
  12. 电脑每隔约半分钟弹出this computer is being attacked
  13. 你有没有为自己拼过命?
  14. 【视频码率相关笔记】
  15. 像中文的罗马音字体复制_罗马音大全可复制汉字免费版下载-罗马音大全可复制吊汉字app在线生成版v1.1.2 手机版-007游戏网...
  16. GeekPwn再现碟中谍场景 黑客肆意控制智能摄像头
  17. 服务器2003丢失系统文件,如何解决开机提示windows/system32/config/system文件丢失
  18. T101对称二叉树(如何递归的经典demo)
  19. 三年前端开发面试经验加感悟(干货分享)
  20. python笔记7 for循环

热门文章

  1. 学it的和学计算机的一样吗,非计算机专业改行学IT有前景吗?
  2. autojs教程:全民种豆app脚本代码
  3. 愤怒的小鸟:燃烧你的玩乐激情
  4. 欢迎关注 GIAC 全球互联网架构大会
  5. Trunk Based Development介绍——TBD Workflow(一)
  6. 同年同月同日出生的爱情
  7. runwith注解为什么用不了_企鹅电竞首充6元礼包|企鹅体育为什么发言不了?企鹅体育为啥用WiFi不能看?...
  8. 强化学习在智能补货场景的应用
  9. I Love You !
  10. 解决安卓开机卡谷歌联机验证的问题.2022-03-15