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

flavor 配置

文章目录

      • 1. flavorDimensions
        • 1.1 单维度
        • 1.2 多维度
      • 2. BuildConfig
      • 3. sourceSets
      • 4. 参考资料

1. flavorDimensions

  • productFlavors 配合使用
  • 使用 flavorDimensions 定义风味维度,维度越多,能打出的渠道包越丰富

1.1 单维度

defaultConfig {...flavorDimensions "channel"
}productFlavors {master {}c318 {}
}
  • 单风味维度只能构建 productFlavors 里定义的风味维度,不能组合。 如图只能构建 master 和 c318 两种渠道包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rHfPLN0G-1676626858486)(https://note.youdao.com/yws/res/49049/WEBRESOURCE16e0a4b4bb25b855724fe1d90255b4b0)]

1.2 多维度

defaultConfig {...flavorDimensions "channel", "company"
}productFlavors {companyA {dimension "company"}companyB {dimension "company"}master {dimension "channel"}c318 {dimension "channel"}
}
  • 根据 company 和 channel 进行组合, 上述可以构建 C318CompanyA,C318CompanyB,MasterCompanyA,MasterCompanyB 四种组合的渠道包
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ie6suRLc-1676626858488)(https://note.youdao.com/yws/res/4/WEBRESOURCEc8cd805b7e563813764a9e4eb59c97b4)]

2. BuildConfig

  • 结合 BuildConfig 生成属性
 buildConfigField "boolean", "LOG_DEBUG", "false"// 动态赋值 url 和端口buildConfigField('String', 'BASE_URL', '"https://www.baidu.com/"')buildConfigField('int', 'URL_PORT', '5672')
  • 通过 BuildConfig 判断当前 flavor
public final class BuildConfig {public static final boolean DEBUG = Boolean.parseBoolean("true");public static final String APPLICATION_ID = "com.tinnove.mediacenter";public static final String FLAVOR = "c318";...
}

3. sourceSets

  • android{} 标签下的 sourceSets{} 标签:可以来设置一些渠道的资源目录,设置后,同名资源会以渠道内的为主
sourceSets {master {java.srcDirs = ['src/master/java']res.srcDirs = ['src/master/res']}c318 {java.srcDirs = ['src/c318/java']res.srcDirs = ['src/c318/res']}}

4. 参考资料

Android | gradle Flavor多渠道打包
Android 多渠道打包

http://www.lryc.cn/news/10451.html

相关文章:

  • 《第一行代码》 第五章:详解广播机制
  • Leetcode(每日一题)——1139. 最大的以 1 为边界的正方形
  • YOLOv5:GitHub两万八Star项目
  • 袋鼠云产品功能更新报告04期丨2023年首次,产品升级“狂飙”
  • 如何在Power Virtual Agents中使用Power Automate
  • BXC6332A第二代智能头盔方案助力电动车市场,为安全保驾护航
  • 浮点数值计算精度丢失问题剖析及解决方法
  • 字符串匹配 - 模式预处理:朴素算法(Naive)(暴力破解)
  • CVE-2021-42278 CVE-2021-42287域内提权漏洞
  • 关于IcmpSendEcho2的使用和回调问题
  • XQuery 术语
  • 会议论文分享-Security22-状态感知符号执行
  • 吴恩达深度学习笔记(八)——卷积神经网络(上)
  • 14 基数排序(桶排序)
  • 汉明距离Java解法
  • Netty服务端请求接受过程源码剖析
  • 金三银四春招特供|高质量面试攻略
  • 搭建Hexo博客-第4章-绑定自定义域名
  • lightdb-sql拦截
  • 二进制中1的个数-剑指Offer-java位运算
  • 学自动化测试可以用这几个练手项目
  • 2023年保健饮品行业分析:市场规模不断攀升,年度销额增长近140%
  • 2023-02-17 学习记录--TS-邂逅TS(一)
  • SpringMVC创建异步回调请求的4种方式
  • MySQL(二)表的操作
  • SpringCloud - 入门
  • 进一步了解C++函数的各种参数以及重载,了解C++部分的内存模型,C++独特的引用方式,巧妙替换指针,初步了解类与对象。满满的知识,希望大家能多多支持
  • Chapter6:机器人SLAM与自主导航
  • Sass的使用要点
  • 计算机启动过程,从按下电源按钮到登录界面的详细步骤