centos下flutter打包流程是什么
导读:CentOS 下 Flutter 打包流程 一 环境准备与校验 安装基础工具与 Flutter SDK 更新系统并安装依赖:sudo yum update -y && sudo yum install -y wget g...
CentOS 下 Flutter 打包流程
一 环境准备与校验
- 安装基础工具与 Flutter SDK
- 更新系统并安装依赖:sudo yum update -y & & sudo yum install -y wget git unzip which
- 下载并解压 Flutter SDK(示例为稳定版本,可按需替换版本号):
- wget https://storage.googleapis.com/flutter/releases/3.10.0/flutter-linux-x64-3.10.0.tar.xz
- sudo tar -xf flutter-linux-x64-3.10.0.tar.xz -C /opt
- echo ‘export PATH=$PATH:/opt/flutter/bin’ > > ~/.bashrc & & source ~/.bashrc
- 配置 Android 环境(用于打包 Android)
- 安装 OpenJDK 17(Android 构建常用版本):sudo yum install -y java-17-openjdk-devel
- 设置环境变量(示例路径,请与实际一致):
- echo ‘export ANDROID_HOME=$HOME/Android/Sdk’ > > ~/.bashrc
- echo ‘export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools’ > > ~/.bashrc
- source ~/.bashrc
- 使用命令行工具 sdkmanager 安装必要组件(首次运行可能需接受协议):
- yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_HOME “platform-tools” “platforms; android-34” “build-tools; 34.0.0”
- 校验环境
- 运行:flutter doctor -v,确保 Flutter、Android toolchain、JDK 等关键项均为可用状态(如有缺失按提示安装)。
二 打包 Android APK 或 AppBundle
- 进入项目根目录:cd < your_project>
- 获取依赖:flutter pub get
- 构建发布包
- 构建 APK:flutter build apk --release
- 构建 AppBundle:flutter build appbundle --release
- 产物路径
- APK:build/app/outputs/flutter-apk/app-release.apk
- AppBundle:build/app/outputs/bundle/release/app-release.aab
- 可选参数
- 指定目标架构(如仅 arm64-v8a):flutter build apk --release --target-platform android-arm64
- 构建时注入环境变量:flutter build apk --release --dart-define=API_ENV=prod
- 说明
- 如需签名发布,请提前准备好 keystore,并使用 –release 配合签名配置(或在 Gradle 中配置 signingConfigs)。
三 打包 Linux 桌面应用(CentOS 本机运行)
- 启用 Linux 桌面支持:flutter config --enable-linux-desktop
- 安装 Linux 构建依赖(常见为 GTK/OpenGL 等,示例为基于 dnf 的发行版,若为 yum 请使用 yum/dnf 对应包名)
- sudo dnf install -y clang cmake ninja-build pkgconfig gtk3-devel libblkid-devel libuuid-devel
- 构建发布包
- 生成可执行与 bundle:flutter build linux --release
- 产物路径与运行
- 可执行与资源:build/linux/x64/release/bundle/
- 运行:cd build/linux/x64/release/bundle & & ./your_app。
四 打包 Web 应用与部署
- 构建 Web:flutter build web --release
- 产物路径:build/web/(包含静态文件 index.html、assets 等)
- 快速部署示例(Nginx)
- 将 build/web 目录内容拷贝到 Nginx 默认静态目录(如 /usr/share/nginx/html),或挂载为卷
- 启动容器:docker run -d -p 80:80 -v /your/build/web:/usr/share/nginx/html nginx
- 访问服务器 IP 即可查看站点。
五 常见限制与建议
- iOS 打包需在 macOS + Xcode 环境完成,CentOS 无法本地构建 iOS;如需 CI/CD,可将 iOS 阶段指定到 Mac 节点执行。
- 无图形界面的 CentOS 服务器建议优先选择 Android 或 Web 打包;如必须构建 Linux 桌面包,请启用虚拟帧缓冲(如 Xvfb)或使用带 GUI 的构建环境。
- 持续集成建议:在 Jenkins/GitLab CI 中使用 Flutter 插件与多节点策略(Android 在 Linux 节点,iOS 在 Mac 节点),并归档产物、执行单元测试与分析,保证版本质量。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos下flutter打包流程是什么
本文地址: https://pptw.com/jishu/747943.html
