Android productFlavors多渠道 打包

发布时间:2026/8/20 15:29:23

Android productFlavors多渠道 打包
一、不同渠道引用不同 dependencies方法如下build.gradle文件所示1.先定义productFlavors 渠道channelA和channelB2.然后通过getTaskNames 获取当前编译的渠道,并赋值给变量 channel3.dependencies 中判断当前 channel 依赖不同的mudule或者jar--------------------build.gradle文件def channel gradle.startParameter.getTaskNames().each { task -if (task.toLowerCase().contains(channelA)) {channel channelA} else if (task.toLowerCase().contains(channelB)) {channel channelB}}android {productFlavors {channelA {buildConfigField(String, PROJECT_NAME, \channelA\)versionCode rootProject.ext.android[versionCode]versionName rootProject.ext.android[versionName]}channelB {buildConfigField(String, PROJECT_NAME, \channelB\)versionCode rootProject.ext.android[versionCode]versionName rootProject.ext.android[versionName]}}}dependencies {println(**********channel: channel)if (channel channelA) {//依赖不同的module} else if (channel channelB) {//依赖不同的module}}--这样做代码编辑模式下识别不到引用的包只有编译时才可以识别到引用的包可以做如下修改例如implementation androidx.appcompat:appcompat:1.2.0//如果只是channelA渠道引用该jar 可以改成channelAImplementation androidx.appcompat:appcompat:1.2.0这样就可以做到不同渠道引用不同的modulejar或aar了二、多渠道重命名输出apk例如在build variant 选择 versionCode1Abi1releasevariant.baseName为 versionCode1-abi1-release生成的apk名称为myapp-versionCode1-abi1-release.apk-------build.gradle文件配置如下android {flavorDimensions(versionCode, abi)productFlavors {versionCode1 {dimension versionCode}versionCode2 {dimension versionCode}abi1 {dimension abi}abi2 {dimension abi}}android.applicationVariants.all { variant -variant.outputs.all {println(**********applicationVariants variant.baseName: variant.baseName)def appName myappoutputFileName appName - variant.baseName .apkprintln output app : outputFileName}}}三、风味渠道缺失默认匹配例如 如果app 定义的 了flavorDimensions demoproductFlavors {flavor1 {dimension demo}flavo2 {dimension demo}}在其他module中没有定义可以定义匹配的的风味渠道可以通过missingDimensionStrategy 默认匹配missingDimensionStrategy demo, flavor1注意这里只要写一个flavor1就可以了不要写成missingDimensionStrategy demo, flavor1, flavor2因为最终 App 会覆盖它所以选哪个都无所谓纯粹是让 Gradle 编译时不报错。一句话总结Library 模块的 missingDimensionStrategy编译必须写运行时不生效。App 模块的 missingDimensionStrategy编译必须写运行时也生效。可以理解为 missingDimensionStrategy 对 library 模块来说是给 Gradle 的一个占位声明——告诉编译器我知道我缺少维度先按这个选但最终 App 作为顶层模块会统一拍板

相关新闻

C++:前言与入门

C++:前言与入门

2026/8/20 15:29:23

前言:欢迎各位进入c++的学习与探讨,c++是c语言的升级与扩展。要想学精,难度也是非常大的。希望大家能循序渐进,保持这份热情,终有一天,我们会达到彼岸。 什么是C++ C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽…

5分钟一键备份,GetQzonehistory把十年QQ空间说说完整搬回本地

5分钟一键备份,GetQzonehistory把十年QQ空间说说完整搬回本地

2026/8/20 15:19:23

5分钟一键备份,GetQzonehistory把十年QQ空间说说完整搬回本地 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 深夜整理旧相册,我翻到一张2015年的毕业合照&#…

689款免费macOS开源应用一次找齐:这份终极应用清单的完整使用指南

689款免费macOS开源应用一次找齐:这份终极应用清单的完整使用指南

2026/8/20 15:19:23

689款免费macOS开源应用一次找齐:这份终极应用清单的完整使用指南 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors…

VimBox插件系统解析:vim-plug、bundlesVimRc与添加新插件的完整教程

VimBox插件系统解析:vim-plug、bundlesVimRc与添加新插件的完整教程

2026/8/20 17:29:28

VimBox插件系统解析:vim-plug、bundlesVimRc与添加新插件的完整教程 【免费下载链接】VimBox Simple, Modern MacVim Configuration 项目地址: https://gitcode.com/gh_mirrors/vi/VimBox VimBox 插件系统基于 vim-plug 打造,通过 bundlesVimRc 统…

Open-Sora从零部署实战:5关闯关式搭建,一条命令跑通你的第一条AI视频

Open-Sora从零部署实战:5关闯关式搭建,一条命令跑通你的第一条AI视频

2026/8/20 17:29:28

Open-Sora从零部署实战:5关闯关式搭建,一条命令跑通你的第一条AI视频 【免费下载链接】Open-Sora Open-Sora: Democratizing Efficient Video Production for All 项目地址: https://gitcode.com/GitHub_Trending/op/Open-Sora Open-Sora 是一个面…

类型系统精讲:一文读懂 programming-scala-book-code-examples 中抽象类型、交集/联合类型与路径依赖

类型系统精讲:一文读懂 programming-scala-book-code-examples 中抽象类型、交集/联合类型与路径依赖

2026/8/20 17:29:28

类型系统精讲:一文读懂 programming-scala-book-code-examples 中抽象类型、交集/联合类型与路径依赖 【免费下载链接】programming-scala-book-code-examples The code examples used in Programming Scala, 2nd and 3rd Editions (OReilly) 项目地址: https://g…

在线视频只能看不能存?M3U8视频下载工具一条命令把整集搬回家

在线视频只能看不能存?M3U8视频下载工具一条命令把整集搬回家

2026/8/20 17:29:28

在线视频只能看不能存?M3U8视频下载工具一条命令把整集搬回家 【免费下载链接】m3u8-downloader 一个M3U8 视频下载(M3U8 downloader)工具。跨平台: 提供windows、linux、mac三大平台可执行文件,方便直接使用。 项目地址: https://gitcode.com/gh_mirrors/m3u8d/…

Neural Amp Modeler终极上手指南:把音箱音色“克隆”进电脑的免费AI方案

Neural Amp Modeler终极上手指南:把音箱音色“克隆”进电脑的免费AI方案

2026/8/20 17:29:28

Neural Amp Modeler终极上手指南:把音箱音色“克隆”进电脑的免费AI方案 【免费下载链接】neural-amp-modeler Neural network emulator for guitar amplifiers. 项目地址: https://gitcode.com/GitHub_Trending/ne/neural-amp-modeler 想录一个只有昂贵的Ma…

3 分钟学会 BiliTools:这个免费开源的 B 站视频下载工具,把整部番剧连弹幕一起搬回家

3 分钟学会 BiliTools:这个免费开源的 B 站视频下载工具,把整部番剧连弹幕一起搬回家

2026/8/20 17:19:27

3 分钟学会 BiliTools:这个免费开源的 B 站视频下载工具,把整部番剧连弹幕一起搬回家 【免费下载链接】BiliTools 本项目已停止维护。 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools BiliTools 是一个免费开源的哔哩哔哩工具箱…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/19 9:17:18

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

2026/8/20 0:08:45

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com…

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

2026/8/20 0:08:45

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 判断你是否…

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

2026/8/20 0:08:45

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 按 3MF 官方规范的字面意思,一…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…