当前位置: 首页 > news >正文

Android Gralde补全计划 productFlavors多渠道打包(变体/多客户)

在工作中,偶尔需要面对不同客户进行需求上的细微调整,变体可以方便地完成这种调整。
本文以实践为主,部分理论知识已略过,参考理论知识补在了下面参考文档中。
其中单变体适合 单产品对应不同客户,多变体适合 单产品对应不同客户且单个客户地某个需求存在不同版本
如:音乐app 单变体 适合需要对皮肤进行不同调整的多客户
多变体 适合需要对皮肤进行不同调整的多客户,且其中A客户需要网络播放流媒体歌曲/完全本地播放歌曲 两种不同app模式

注意:
main和变体的java文件不能存在同名,个人使用习惯是main下存放base文件,在不同变体下调整对应的需求。

1 单变体

在app下build.gradle添加变体相关配置代码,变体以channel为例

// 产品变体名称,这里可以自行填写,channel为示例
flavorDimensions "channel"
// 创建产品变体
productFlavors {common {manifestPlaceholders = [CHANNEL: "common "]dimension = "channel"buildConfigField("String","CHANNEL","\"common \"")}meizu {manifestPlaceholders = [CHANNEL: "meizu "]dimension = "channel"buildConfigField("String","CHANNEL","\"meizu \"")}}

在Build Variants调整到不同变体,并src下新建-文件夹-新建对应渠道地java/resources等资源
调整build variant
在

2 多变体

在app下build.gradle添加变体相关配置代码,变体以channel和wifi为例

  // 产品变体名称flavorDimensions "channel","wifi"// 创建产品变体productFlavors {common {manifestPlaceholders = [CHANNEL: "common "]dimension = "channel"buildConfigField("String","CHANNEL","\"common \"")}meizu {manifestPlaceholders = [CHANNEL: "meizu "]dimension = "channel"buildConfigField("String","CHANNEL","\"meizu \"")}haswifi {dimension = "wifi"}wificlose {dimension = "wifi"}}

此时在Build Variants切换时会出现channel和wifi组合的variant,对应选择需要的即可。

参考
1理论知识 flavorDimensions和productFlavors——安卓gradle
https://juejin.cn/post/6844903968204652551#heading-4
2 实践 通过productFlavors实现多渠道打包
https://juejin.cn/post/7198806651562229816
3 实践 Android Gradle中的productFlavors
https://blog.csdn.net/nihaomabmt/article/details/119320732

http://www.dtcms.com/a/582909.html

相关文章:

  • 网站建设多少钱网站开发项目经理职责
  • 浙江腾鑫建设集团网站手机如何打开wordpress
  • 算法 day 47 单调栈
  • 一个静态网站开发考虑什么绍兴建设局网站首页
  • 做网站练手项目广东新闻联播回看
  • JavaEE初阶——多线程(8)JUC的常见类
  • 全参数DeepSeek(671B)企业部署方案
  • 柳州网站开发网上申请店铺开网店的流程
  • Java与Swift完整语法对比手册
  • 网站系统环境的搭建微信公众平台小程序二维码怎么生成
  • 做吉祥物设计看什么网站wordpress 开头空格
  • dockerfile一个引号缺失带来的惨案
  • 做电子板报的网站wordpress 汽车租赁
  • 英文网站设计公司建网站的过程
  • 虚拟网站php专业型网站开发服务费会计处理
  • 东莞大朗网站建设公司怎么查看网站死链接
  • 站多多 福州网站建设益阳建设网站
  • 中科数测研究院议题入选Biohacking Village Labs,即将亮相东京CodeBlue大会
  • SpringCloud微服务保护与分布式事务知识点总结
  • Kubernetes脉络:从基础概念到核心架构的认知框架
  • Ascend C核函数执行全流程深潜:从rtKernelLaunch到硬件执行的完整解密
  • 海澜之家的网站建设目标中文官网资源
  • 食品 网站源码外贸出口公司网站建设方案
  • 沈阳建网站如何建设企业人力资源网站
  • 精准计算,终结经验主义:钢丝绳智能选型重塑吊装安全
  • 汽车智能驾驶 超声波雷达、毫米波雷达和激光雷达
  • 网站开发所需要的条件icp备案号是什么意思
  • 幂数加密(攻防世界)
  • DMA 实践拾遗
  • K8S重启之后无法启动故障排查 与 修复