最近项目从eclipse迁移到AS上,主要是为了使用gradle这个插件进行apk打包。毕竟程序员还是要与时俱进的。首先介绍下项目主要需求:
1、使用百度统计,需要对个平台的信息进行统计
2.、api分开发版和发布版,需要自动区分api

对于api区分不同环境(开发环境/部署环境),这个需求还是很好解决的。api url定义到常量类UrlConstant中,然后根据不同环境配置不同的domain即可。下面介绍配置:

  1. 在工程src目录下新建debug(开发环境),release(部署环境)两个文件夹,
  2. 分别在debug和release目录下建立com.cml.constant包(根据自己的项目建立),然后分别建立UrlConstant类,将对应的domain配置编写上去即可

经过简单的两个步骤,多环境问题解决了,编译时会自动根据环境加载不同文件下的类的。AS直接运行时使用的是debug环境的配置,打包发布后运行的是release的环境。

2、百度多渠道统计,主要是使用多渠道打包功能,主要是使用

productFlavors{baidu{manifestPlaceholders = [BaiduMobAd_CHANNEL: "baidu"]}yyb{manifestPlaceholders = [BaiduMobAd_CHANNEL: "yyb"]}//应用宝
}

网上很多,随便找找都有

经过上面配置后,基本要求实现了,但是项目中使用到百度统计和百度推送,不同环境的key是不一样的。总不可能在productFlavors为每个渠道都配置一次吧,那样繁琐而且不能区分环境。
下面就介绍下具体配置(实测可用),主要是使用manifestPlaceholders。在buildTypes不同环境中添加上对应的key即可。代码如下:

 buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'manifestPlaceholders = [BaiduMobAd_STAT_ID: release_stat_key, lbsapi_API_KEY: release_baidupush_key]signingConfig signingConfigs.release}debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'manifestPlaceholders = [BaiduMobAd_STAT_ID: debug_stat_key, lbsapi_API_KEY: debug_baidupush_key]}}

这样就轻松实现了多环境和多渠道打包的配置。

转载于:https://www.cnblogs.com/cmlblog/p/7663122.html

Gradle 多环境、多渠道打包相关推荐

  1. android gradle两种多渠道打包方式

    android gradle两种多渠道打包方式 gradle多渠道打包,目前已经了解到的有两种方式: 一种是利用gradle的manifestPlaceholders属性来替换渠道值 另一种是不同的渠 ...

  2. Gradle 实现 Android 多渠道定制化打包

    最近在项目中遇到需要实现 Apk 多渠道.定制化打包, 查找了一些资料,成功实现了上述功能,在此记录以备不时之需,温故而知新,可以为师矣~ 需求可以总结如下:  如何实现多个 Apk 安装在同一设备 ...

  3. [置顶]Gradle 实现 Android 多渠道定制化打包

    Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...

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

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

  5. 使用build.grade文件配置相关参数与多渠道打包

    使用build.grade文件配置相关参数与多渠道打包 晨鸣的博客–使用build.grade文件配置相关参数与多渠道打包 使用build文件配置相关参数 在Android开发过程中,有时我们需要在A ...

  6. Android的多渠道打包

    前言 本篇包括以下内容: 多渠道打包概述 友盟的多渠道打包 美团的多渠道打包 360的多渠道打包 多渠道打包概述 什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠 ...

  7. android中多渠道打包的三种方式

    转载至:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后果就是国 ...

  8. Android产品研发(五)--多渠道打包

    转载请标明出处:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后 ...

  9. android 友盟多渠道打包工具,Android渠道打包最佳实践(以友盟为例)

    渠道包是每一个Android产品面临的问题,国内几乎每个手机厂商都有自己的安卓市场,导致需要的渠道包非常多,很多app的渠道都达到了丧心病狂的几百个,每次打渠道包都是一个痛苦的过程. 多渠道打包方案 ...

最新文章

  1. 今天开始搞CentOS 7
  2. Javascript Array sort排序问题
  3. 用前序和中序重建二叉树 python
  4. 搭建一个通用的脚手架
  5. 控制台应用和空项目有什么区别_农业项目经理和物联网项目经理有什么区别
  6. r语言之生成随机序列,随机数生成函数及用法
  7. Linux内核启动过程和Bootloader(总述)
  8. 内卷太厉害怎么办?多读好书破万“卷”
  9. Python 爬虫实战2 百度贴吧帖子
  10. Python之isinstance
  11. 如何运用Python建立你的第一个Slack聊天机器人?
  12. eda多功能数字钟课程设计_eda课程设计——多功能数字钟.doc
  13. sonarqube + nexus 分析项目组成员代码状况,并生成报表
  14. 10X 空间转录组学
  15. ArcGIS Server manger管理页面无法打开问题解决
  16. 店铺微信公众号怎么创建?
  17. 关于wx.downloadFile的URL 微信小程序下载文件 服务器http服务的部署
  18. 失败一时并不可怕,可怕的是不去总结和改正。
  19. HC-02蓝牙串口模块的配置和使用
  20. 【Java面向对象编程——名片管理系统】

热门文章

  1. zabbix告警收敛
  2. 树莓派html编辑器,BlocklyPi
  3. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛------母牛上树
  4. Android7.0以上版本更新升级兼容代码
  5. 密码学——几种典型的古典密码体制(Caesar体制、Playfair体制、Vigenere体制、Beaufort体制以及Hill体制)
  6. 百思买禁售华为手机;百度获首批自动驾驶路测号牌;美团打车上线首日被约谈丨价值早报
  7. 我的网事——闲话网名之“伯劳.秋香”
  8. Apache Pulsar在智联招聘的实践 -- 从消息队列到基于Apache Pulsar的事件中心
  9. struts2设置默认首页
  10. 网红长沙,为何常红?