Gradle配置多渠道打包
项目开发的过程都会有打包的需求,如果项目规模不大,对渠道的要求不高可以只打一个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配置多渠道打包相关推荐
- Android Studio下项目构建的Gradle配置及打包应用变体
Gradle简介 Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点. ...
- android studio gradle配置_Unity打包Android最全攻略(含完整流程及常见问题)
洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 最近写了很多AR教程,在收到的小伙伴的求助里面,超过80%都是Android打包的问题.这篇就把你Android打包问题统统搞 ...
- android——利用gradle实现多渠道打包并自定义包名(umeng多渠道)
1.首先在mainfest.xml文件中,给umeng_channel设置一个变量"${UMENG_CHANNEL_VALUE}" 2.在gradle中,配置flavors. pr ...
- Android开发之Gradle多渠道打包总结
首先老套路看图:分别是小米的渠道和应用宝的渠道 这是渠道的渠道号的截图 先说下Gradle的多渠道打包,个人更喜欢这样写: 第一步:需要在清单文件添加标识: <meta-dataandroid: ...
- 使用build.grade文件配置相关参数与多渠道打包
使用build.grade文件配置相关参数与多渠道打包 晨鸣的博客–使用build.grade文件配置相关参数与多渠道打包 使用build文件配置相关参数 在Android开发过程中,有时我们需要在A ...
- Android 多渠道打包实操(更改包名、图标、主题资源 、替换常量、第三方SDK Appkey配置)
最近在做一个通用版的会员系统,给予不同的公司使用,先前是通过切换版本分支来管理的,后面发现实在是繁琐和痛苦管理,仅仅是需要更改不同的常量.主题资源.包名.图标等等,主体代码逻辑功能基本不变. 先前了解 ...
- 腾讯乐固的加固和多渠道打包客户端配置
1概述 2官方文档多渠道打包 3配合官方文档修改自己项目配置多渠道打包 1.概述 近日项目新版本上线,各大市场都正常,但是腾讯的应用宝审核提示需要用乐固加固,因为之前一直用360加固并进行多渠道打包, ...
- 友盟多渠道打包 Android Apk
目前项目中使用到了多渠道打包的功能,首先理解多渠道打包,渠道可理解成安卓apk应用市场平台,所以多渠道打包可以理解成在打包多个应用市场的apk,要在每个应用市场上打包一个安卓Apk,这样好处是可以在查 ...
- android多渠道打包(动态改变地址打包,只需改下版本号)
多渠道打包本来不想写的,因为比较麻烦,所以没打算写.只是前段时间因为电脑蓝屏重装了系统,导致不能打包了,所以又百度了半天,今天就写下来做个笔记. 废话不多说,进入主题. 配置多渠道打包就要使用友盟统计 ...
最新文章
- 用window.open在同一个新窗口中访问指定url【IE页面缓存问题】
- 转:linux设置进程优先级
- 用java程序完成从kafka队列读取消息到sparkstreaming再从sparkstreaming里把数据导入mysql中
- html 天气特效,用CSS制作天气特效动画,源码分享
- 蓝懿IOS委托模式代理模式
- linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
- java tomcat 读取配置文件端口_跟我学Java编程—应用读写项目配置文件的Properties类...
- Grad-CAM 神经网络特征图可视化
- [转]C++学习步骤
- 基于Matlab/GUI界面设计的参数在线整定与优化(一)
- 长连接与短连接的区别
- 新浪微博产品的细微体验,你发现了么?
- Springboot整合Redis实现腾讯云发送短信验证码并实现注册功能
- Programming Ruby 读书笔记(六)
- 实现内网(局域网)控制所有电脑一键关机并且系统还原的方案
- Android删除系统的WIFI功能
- [渝粤教育] 西南科技大学 会计学原理 在线考试复习资料(1)
- java中日志的级别说明
- MySQL调优是程序员拿高薪的必备技能?
- 《Java基础入门第2版》--黑马程序员 课后答案及其详解 第6章 集合
热门文章
- 静态博客网页中的网易云音乐播放器
- 基于html+css的图片旋转
- 齐岳:环糊精修饰Fe3O4磁性纳米复合材料|十二烷基硫酸钠(SDS)将Fe3O4磁性纳米粒子定量地修饰到多壁碳纳米管
- 如何用 Python 可视化《三国》人物与兵器出现频率?(视频教程)
- 企业转型升级,务必抓住“企业上云”政策红利
- pyqt5 时间控件设为当前日期
- 利用Excel制作问卷的饼状图
- 字符串算法:正则表达式原理及C++实现
- laydate时间控件在谷歌浏览器中兼容性问题
- 开启子进程的两种方式、进程间内存空间隔离、进程对象的方法或属性详解