项目开发的过程都会有打包的需求,如果项目规模不大,对渠道的要求不高可以只打一个release包,然后上传到所有应用市场就行了。但是如果有一些特殊需求,比如做ASO优化,应用数据分析等等就需要打包上传应用市场的时候对渠道进行划分。

今天就简单介绍一下在AS中如果通过gradle来进行渠道划分。整体步骤分为三步

1 在app的build.gradle中添加productFlavors节点,注意节点的位置。并且这个配置需要区分as3.0以下和3.0以上,我们先看一下as3.0以下的配置。

比如要配置小米的渠道包,需要在app的build.gradle文件的android节点中添加一下配置

 productFlavors{xiaomi{dimension "xiaomi"//描述manifestPlaceholders=[cid:'xiaomi']//渠道号}}

在as3.0以下这样配置是没有问题的,但是在3.0或者以上就会报以下错误

ERROR: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

大概意思是说,所有flavor的dimension需要保持统一。gradle提供了flavorDimensions字段使得全局保持一个dimension。具体的用法是在defaultConfig节点中增加flavorDimensions字段

 minSdkVersion 23targetSdkVersion 29versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"flavorDimensions "default"

然后渠道配置中的dimension值需要和flavorDimensions保持一致。

2 配置完成productFlavors之后还需要在清单文件中配置mate-data,供后续在代码获取渠道号时使用。

 <meta-dataandroid:name="cid"android:value="${cid}"/>

3 完成步骤1、2之后就可以在打包时选择相应的渠道包了,至于上文提到的代码获取渠道包,会在下一篇文章中给出代码

Gradle配置多渠道打包相关推荐

  1. Android Studio下项目构建的Gradle配置及打包应用变体

    Gradle简介   Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点. ...

  2. android studio gradle配置_Unity打包Android最全攻略(含完整流程及常见问题)

    洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 最近写了很多AR教程,在收到的小伙伴的求助里面,超过80%都是Android打包的问题.这篇就把你Android打包问题统统搞 ...

  3. android——利用gradle实现多渠道打包并自定义包名(umeng多渠道)

    1.首先在mainfest.xml文件中,给umeng_channel设置一个变量"${UMENG_CHANNEL_VALUE}" 2.在gradle中,配置flavors. pr ...

  4. Android开发之Gradle多渠道打包总结

    首先老套路看图:分别是小米的渠道和应用宝的渠道 这是渠道的渠道号的截图 先说下Gradle的多渠道打包,个人更喜欢这样写: 第一步:需要在清单文件添加标识: <meta-dataandroid: ...

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

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

  6. Android 多渠道打包实操(更改包名、图标、主题资源 、替换常量、第三方SDK Appkey配置)

    最近在做一个通用版的会员系统,给予不同的公司使用,先前是通过切换版本分支来管理的,后面发现实在是繁琐和痛苦管理,仅仅是需要更改不同的常量.主题资源.包名.图标等等,主体代码逻辑功能基本不变. 先前了解 ...

  7. 腾讯乐固的加固和多渠道打包客户端配置

    1概述 2官方文档多渠道打包 3配合官方文档修改自己项目配置多渠道打包 1.概述 近日项目新版本上线,各大市场都正常,但是腾讯的应用宝审核提示需要用乐固加固,因为之前一直用360加固并进行多渠道打包, ...

  8. 友盟多渠道打包 Android Apk

    目前项目中使用到了多渠道打包的功能,首先理解多渠道打包,渠道可理解成安卓apk应用市场平台,所以多渠道打包可以理解成在打包多个应用市场的apk,要在每个应用市场上打包一个安卓Apk,这样好处是可以在查 ...

  9. android多渠道打包(动态改变地址打包,只需改下版本号)

    多渠道打包本来不想写的,因为比较麻烦,所以没打算写.只是前段时间因为电脑蓝屏重装了系统,导致不能打包了,所以又百度了半天,今天就写下来做个笔记. 废话不多说,进入主题. 配置多渠道打包就要使用友盟统计 ...

最新文章

  1. 用window.open在同一个新窗口中访问指定url【IE页面缓存问题】
  2. 转:linux设置进程优先级
  3. 用java程序完成从kafka队列读取消息到sparkstreaming再从sparkstreaming里把数据导入mysql中
  4. html 天气特效,用CSS制作天气特效动画,源码分享
  5. 蓝懿IOS委托模式代理模式
  6. linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
  7. java tomcat 读取配置文件端口_跟我学Java编程—应用读写项目配置文件的Properties类...
  8. Grad-CAM 神经网络特征图可视化
  9. [转]C++学习步骤
  10. 基于Matlab/GUI界面设计的参数在线整定与优化(一)
  11. 长连接与短连接的区别
  12. 新浪微博产品的细微体验,你发现了么?
  13. Springboot整合Redis实现腾讯云发送短信验证码并实现注册功能
  14. Programming Ruby 读书笔记(六)
  15. 实现内网(局域网)控制所有电脑一键关机并且系统还原的方案
  16. Android删除系统的WIFI功能
  17. [渝粤教育] 西南科技大学 会计学原理 在线考试复习资料(1)
  18. java中日志的级别说明
  19. MySQL调优是程序员拿高薪的必备技能?
  20. 《Java基础入门第2版》--黑马程序员 课后答案及其详解 第6章 集合

热门文章

  1. 静态博客网页中的网易云音乐播放器
  2. 基于html+css的图片旋转
  3. 齐岳:环糊精修饰Fe3O4磁性纳米复合材料|十二烷基硫酸钠(SDS)将Fe3O4磁性纳米粒子定量地修饰到多壁碳纳米管
  4. 如何用 Python 可视化《三国》人物与兵器出现频率?(视频教程)
  5. 企业转型升级,务必抓住“企业上云”政策红利
  6. pyqt5 时间控件设为当前日期
  7. 利用Excel制作问卷的饼状图
  8. 字符串算法:正则表达式原理及C++实现
  9. laydate时间控件在谷歌浏览器中兼容性问题
  10. 开启子进程的两种方式、进程间内存空间隔离、进程对象的方法或属性详解