2016-04-15 回答

渠道信息一般在 androidmanifest.xml中修改以下值:

首先你必须在androidmanifest.xml中的meta-data修改以下的样子:

android:name="umeng_channel"

android:value="${umeng_channel_value}" />其中${umeng_channel_value}中的值就是你在gradle中自定义配置的值。

build.gradle文件就利用productflavors这样写:

productflavors {

wandoujia {

manifestplaceholders = [umeng_channel_value: "wandoujia"]

}

baidu {

manifestplaceholders = [umeng_channel_value: "baidu"]

}

c360 {

manifestplaceholders = [umeng_channel_value: "c360"]

}

uc {

manifestplaceholders = [umeng_channel_value: "uc"]

}

}其中[umeng_channel_value: "wandoujia"]就是对应${umeng_channel_value}的值。

最新更新

后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法

productflavors {

wandoujia {}

baidu {}

c360 {}

uc {}

productflavors.all { flavor ->

flavor.manifestplaceholders = [umeng_channel_value: name]

}

}其中name的值对相对应各个productflavors的选项值,这样就达到自动替换渠道值的目的了。

这样生成apk时,选择相应的flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。

一次生成所有渠道包

在android studio底栏中有个命令行工具terminal,打开后就cmd可以自动切换到当前项目的目录下。

有的项目下会有graldew.bat这个文件,你就可以输入这个命令:

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

不过我一般不建议大家使用这个命令,gradlew这个命令的gralde的版本无法控制,有时候会莫名其妙的下载老版本的gradle

所以我个人推荐大家使用以下的用法。

先找到gralde的根目录,在系统变量里添加两个环境变量:

变量名为:gradle_home,变量值就为gradle的根目录;

所以变量值为:c:\users\yazhou\.gradle\wrapper\dists\gradle-2.1-all\27drb4udbjf4k88eh2ffdc0n55\gradle-2.1

还有一个在系统变量里path里面添加gradle的bin目录

我的就是c:\users\yazhou\.gradle\wrapper\dists\gradle-2.1-all\27drb4udbjf4k88eh2ffdc0n55\gradle-2.1\bin

这里配置完成了,接着在terminal中敲下 gradle assemblerelease就可以一次性生成所有的渠道包了。

所有生成的apk在项目的build\outputs\apk下。

如果只是想生成单个渠道的包呢?

打开android studio的gradle tasks面板(右边侧边栏),会发现模块多了很多任务。

android studio打包三星闪退,Android studio中apk打包好后,传到手机,安装好后闪退是什么原因,提示,,已停止运行...相关推荐

  1. 小米手机 安装AndroidAuto后连接车机,提示android auto出现错误 通信错误16

    现象 小米手机 安装AndroidAuto后连接车机,提示android auto出现错误 通信错误16 解决 可能因为双开应用不兼容导致的,需要在手机端关闭应用双开. 不同手机位置不一定一样, 举例 ...

  2. Android中APK打包流程

    aapt: android application package tool,SDK (Android打包流程图) #Android打包流程 1.通过aapt工具将 资源文件(res).清单文件(An ...

  3. 三星s3 android 5.0,三星首批升级Android 5.0机型名单曝光

    除了X Phone外,今年的I/O大会上,谷歌还会带来全新的Android 5.0系统,当然让大家最关心的还是,自用手机能不能享受到官方提供新系统的升级. 现在国外媒体就率先曝光了三星首批升级Andr ...

  4. requestPermissions读写手机存储权限_解决一加小米等手机安装钛备份闪退和备份目录不可用问题...

    安卓玩机党,钛备份不可或缺,基本可以备份全部手机数据,包括系统APP以及应用APP 钛备份的强大在于不仅支持APP的备份,也一样支持APP数据的备份,从而让我们刷机后 彻底的保留了当前手机数据,不会丢 ...

  5. java打包apk_Android中APK打包流程

    aapt: android application package tool,SDK (Android打包流程图) #Android打包流程 1.通过aapt工具将 资源文件(res).清单文件(An ...

  6. 三星升级android 8.0,三星发布最新android 8.0升级计划 最快11月部分升级

    [TechWeb] 9 月 30 日消息,近日不少主流机型都已经预装android 8. 0 操作系统,可是去年的那些主流机型还处于旧系统状态,手机厂商开始加紧为主流机型加入安卓8. 0 升级计划.现 ...

  7. android 图标自动更新,android手机安装软件后会生成图标,但今后更新该软件图标都不会变化,如何使图标变成最新版的图标?...

    您好识别真假存储卡(TF卡,SD卡,U盘 ) 一般2G.4G.8G.16G.32G.64G.128G >内存卡内存参数如下: 2G内存(1.8GB)不高于 4G的内存(3.8GB) 8G内存不高 ...

  8. Android英文名词解释大全(持续更新中......)

    http://hi.baidu.com/kahn178/blog/item/e4e8122bd620ec81033bf693.html 全新的产品,大家都还处在一个认识和了解的阶段,很多普通用户对于大 ...

  9. android studio signingconfigs 打正式包,android signingConfigs打包配置

    android studio 2种签名模式 debug和release模式 debug模式 debug模式使用一个默认的debug.keystore进行签名. 默认的不用管 release模式 在我们 ...

最新文章

  1. tesseract3.01的训练和使用
  2. JPA相关--Annotation
  3. 学习这么多算法到底在解决哪些问题?深度学习之外,我们要选择谁?
  4. Linux 操作系统原理 — 文件系统 — 虚拟文件系统
  5. 【问链财经-区块链基础知识系列】 第三十九课 EOS与ETH体系结构比较全解析
  6. 解决ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/m
  7. ajax(检测用户名,添加数据)
  8. opencv vs2010 配置
  9. html图片热点新窗口,HTML基础必看---表单,图片热点,网页划区和拼接详解
  10. GraphX主要的接口详解
  11. ios view 切上部分圆角_唯一可行的 iOS 架构
  12. 走出腾讯和阿里,大厂员工转型记
  13. 一文读懂大比例尺地形图测绘
  14. 产品经理必须会的软件——office
  15. gitlab安装及配置
  16. UDS之浅谈31服务
  17. 经典加密算法的实现与破解大素数生成算法
  18. 如何提炼好的软文标题
  19. 美国计算机有读一年的学校吗,美国哪些学校的计算机专业值得读?
  20. bilibili用户信息爬虫(全网最全)

热门文章

  1. 服务器刷怪塔制作方法,迷你世界制作刷怪塔须知 制作刷怪塔需要注意些什么...
  2. python滑动平均
  3. 买华为还是买小米?听专业人士说说!
  4. matplotlib 绘图
  5. 【二次开发】CityMaker更换天空盒
  6. postman cookie设置
  7. 关于canvas插入gif动图的替代方案
  8. layerUI下的绑定事件
  9. 邮箱客户端无法收发邮件-使用授权码/更换端口号解决
  10. 通过命令行关闭Bitlocker