Flutter 项目一键打包多个渠道包的实现
前言在移动开发中通常需要对应用进行不同渠道的打包以满足多平台推广需求。本文将介绍如何通过一键打包脚本实现 Flutter 项目多渠道打包并生成指定的渠道 APK 文件。效果图实现步骤1. 定义渠道索引和名称首先在代码中定义一个渠道索引和渠道名称的数组以便在打包时区分不同渠道。Flutter 支持在构建应用时通过 dart-define 传递不同的构建参数我们可以利用这一特性传递渠道标识。// 渠道下标——打包时可更改——传给后端 int channelTypeIndex int.fromEnvironment(CHANNEL_INDEX, defaultValue: 0);channelTypeIndex 会根据不同的构建命令动态设置值2. 编写打包脚本 build_channels.sh在项目根目录新建 build_channels.sh 文件并编写如下代码#!/bin/bash #运行./build_channels.sh # 定义所有渠道的索引和对应的名称 channels(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) names(官网专业版 百度竞价1专业版 百度竞价2专业版 百度竞价3专业版 百度竞价4专业版 百度竞价5专业版 百度竞价6专业版 百度信息流2专业版 360竞价1专业版 360竞价2专业版 360竞价3专业版 神马竞价1专业版 神马竞价2专业版 神马竞价3专业版 uc信息流1专业版 百度知识营销专业版 360品专专业版) # 版本号这里手动指定版本号或者从其他地方读取 version1.0.0 # 遍历每个渠道进行打包 for i in ${!channels[]} do channel${channels[$i]} name${names[$i]} echo Building channel $channel ($name)... # 执行 flutter build apk 指令为每个渠道设置不同的渠道下标 flutter build apk --release --no-tree-shake-icons --dart-defineCHANNEL_INDEX$channel # 找到生成的 APK 并重命名为特定渠道的名称格式为 test_版本号_渠道名.apk APK_SOURCE_PATHbuild/app/outputs/flutter-apk/app-release.apk APK_TARGET_PATHbuild/app/outputs/flutter-apk/test_${version}_${name}.apk if [ -f $APK_SOURCE_PATH ]; then mv $APK_SOURCE_PATH $APK_TARGET_PATH echo Channel $channel ($name) APK built successfully and saved to $APK_TARGET_PATH else echo Error: APK for channel $channel ($name) not found! fi done echo All channels built successfully!3. 脚本解读•渠道索引与名称通过 channels 数组定义了每个渠道的索引并在 names 数组中定义了渠道名称。•版本号设置可以在 version 变量中修改版本号自动生成的 APK 文件将包含此版本号。•遍历打包通过 for 循环遍历所有渠道依次运行打包命令。•文件重命名打包完成后脚本会将生成的 app-release.apk 重命名为 test_版本号_渠道名.apk以便区分不同渠道的 APK 文件。4. 运行脚本确保脚本具有执行权限然后在终端运行./build_channels.sh5. 运行结果运行后会在 build/app/outputs/flutter-apk/ 目录下生成不同渠道的 APK 文件文件名格式为 test_1.0.0_渠道名.apk。本文介绍了如何通过 Flutter 和 Shell 脚本实现自动化渠道打包节省了手动切换渠道标识的时间方便后续的渠道分发和管理。

相关新闻

企业级跨平台多媒体处理解决方案:ffmpeg静态二进制文件架构设计与最佳实践

企业级跨平台多媒体处理解决方案:ffmpeg静态二进制文件架构设计与最佳实践

企业级跨平台多媒体处理解决方案:ffmpeg静态二进制文件架构设计与最佳实践 【免费下载链接】ffmpeg-static ffmpeg static binaries for Mac OSX and Linux and Windows 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpeg-static ffmpeg静态二进制文件项目…

2026/7/30 17:50:35 阅读更多 →
如何快速获取中小学电子课本:离线下载终极指南

如何快速获取中小学电子课本:离线下载终极指南

如何快速获取中小学电子课本:离线下载终极指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地址: https…

2026/7/30 17:50:35 阅读更多 →
从入门到精通:REP分类报告与交互式可视化完全指南

从入门到精通:REP分类报告与交互式可视化完全指南

从入门到精通:REP分类报告与交互式可视化完全指南 【免费下载链接】rep Machine Learning toolbox for Humans 项目地址: https://gitcode.com/gh_mirrors/rep3/rep REP(GitHub 加速计划)是一款面向人类的机器学习工具箱(M…

2026/7/30 17:50:35 阅读更多 →

最新新闻

PiliPlus跨平台B站客户端深度解析:技术架构与用户体验的完美融合

PiliPlus跨平台B站客户端深度解析:技术架构与用户体验的完美融合

PiliPlus跨平台B站客户端深度解析:技术架构与用户体验的完美融合 【免费下载链接】PiliPlus PiliPlus 项目地址: https://gitcode.com/gh_mirrors/pi/PiliPlus PiliPlus是一款基于Flutter框架开发的开源跨平台Bilibili第三方客户端,为追求纯净体验…

2026/7/30 17:56:36 阅读更多 →
浏览器多窗口管理终极方案:Tab-Resize分屏扩展完整指南

浏览器多窗口管理终极方案:Tab-Resize分屏扩展完整指南

浏览器多窗口管理终极方案:Tab-Resize分屏扩展完整指南 【免费下载链接】tab-resize Split Screen made easy. Resize the CURRENT tab and tabs to the RIGHT into layouts on separate Windows. w/ Multi-monitor Support 项目地址: https://gitcode.com/gh_mir…

2026/7/30 17:56:36 阅读更多 →
【单片机毕设案例分享】基于雨水传感的多档位雨刮舵机控制系统设计与开发 基于嵌入式硬件的雨量检测与雨刮智能控制平台搭建(013401)

【单片机毕设案例分享】基于雨水传感的多档位雨刮舵机控制系统设计与开发 基于嵌入式硬件的雨量检测与雨刮智能控制平台搭建(013401)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

2026/7/30 17:56:36 阅读更多 →
HCIA四

HCIA四

IP的分片MTU---最大传输单元MSS-最大段长度--如果双方的MSS值不一致&#xff0c;则按照小的来执行ENSPVRP通用路由平台&#xff08;操作系统&#xff09;<Huawei>用户视图模式---只能查看配置的权限display ip interface brief --查看接口状态双UP才具备通信条件system-v…

2026/7/30 17:56:36 阅读更多 →
动捕技术赋能智慧养老:慕尼黑工业大学GARMI陪护机器人研发案例

动捕技术赋能智慧养老:慕尼黑工业大学GARMI陪护机器人研发案例

随着人口老龄化加剧、护理人力短缺&#xff0c;传统养老压力持续增大&#xff0c;智能陪护机器人成为智慧养老的重要方向。但市面上多数服务机器人动作僵硬、交互生硬&#xff0c;无法适配老年人使用习惯&#xff0c;落地难度大。为此&#xff0c;慕尼黑工业大学研发1.6米GARMI…

2026/7/30 17:56:36 阅读更多 →
【单片机课程设计/毕业设计】基于 STM32 的 OLED 显示点滴监测控制系统开发 基于多传感器的点滴液位与流速联合监测系统(013801)

【单片机课程设计/毕业设计】基于 STM32 的 OLED 显示点滴监测控制系统开发 基于多传感器的点滴液位与流速联合监测系统(013801)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

2026/7/30 17:55:36 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具&#xff1a;DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼&#xff1f;是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper&#xff1a;网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具&#xff0c;它并非替代教师&#xff0c;而是通过语义理解、知识图谱与多模态生成能力&#xff0c;将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻