温馨提示×

Debian系统下Flutter项目的构建流程

小樊
34
2025-12-28 01:01:49
栏目: 智能运维

Debian下Flutter项目构建流程

一 环境准备与SDK安装

  • 更新系统并安装基础构建依赖(图形、压缩、编译工具等):
    • sudo apt update && sudo apt install -y wget git cmake unzip xz-utils libglu1-mesa clang ninja-build pkg-config libgtk-3-dev liblzma-dev
  • 下载并解压 Flutter SDK(示例为稳定版,建议替换为最新稳定版本链接):
    • git clone https://github.com/flutter/flutter.git -b stable ~/flutter
  • 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
    • echo ‘export PATH=“$PATH:$HOME/flutter/bin”’ >> ~/.bashrc && source ~/.bashrc
  • 验证环境并完成工具链检查:
    • flutter doctor(按提示安装缺失组件,如 Android 工具链等)

二 创建或获取项目并安装依赖

  • 新建项目或进入已有项目目录:
    • flutter create my_flutter_app && cd my_flutter_app
  • 获取依赖:
    • flutter pub get
  • 启用 Linux 桌面支持(如项目未启用):
    • 在 pubspec.yaml 中添加:
      • flutter:
        • uses-material-design: true
        • desktop:
          • linux
    • 再次同步依赖:flutter pub get

三 构建与运行

  • Android 构建与运行(需连接设备或启动 AVD):
    • 构建 APK:flutter build apk(产物:build/app/outputs/flutter-apk/app-release.apk)
    • 构建 App Bundle:flutter build appbundle(产物:build/app/outputs/bundle/release/app-release.aab)
    • 运行调试:flutter run
  • iOS 构建说明(仅限在 Debian 上生成 Xcode 工程,不能在 Linux 上最终打包):
    • flutter build ios(生成 ios/Runner.xcworkspace,需在 Mac 上用 Xcode 完成签名与归档)
  • Linux 桌面构建与运行(推荐在 Debian 上直接产出可执行程序):
    • 构建发布版:flutter build linux --release(产物:build/linux/x64/release/bundle/ 下的可执行文件与资源)
    • 运行:./build/linux/x64/release/bundle/your_app_name

四 打包为Debian安装包 .deb

  • 方式一 使用 flutter_build_debian 插件(简洁、自动化):
    • 添加打包能力:flutter pub add flutter_build_debian
    • 在项目根目录创建 debian.yaml(示例):
      • flutter_app:
        • command: your_app_name
        • arch: x64
        • parent: /opt/your_app
      • control:
        • Package: your-app-name
        • Version: 1.0.0
        • Architecture: amd64
        • Maintainer: Your Name you@example.com
        • Description: A Flutter app
        • Depends: flutter, libgtk-3-0, liblzma5
    • 生成 .deb:flutter build debian(产物:build/debian/your-app-name_1.0.0_amd64.deb)
  • 方式二 使用系统打包工具(如 dpkg-deb)手工打包(略,适合自定义控制目录结构与脚本)
  • 安装与验证:
    • 安装:sudo dpkg -i build/debian/your-app-name_1.0.0_amd64.deb
    • 修复依赖:sudo apt --fix-broken install
    • 启动:/opt/your_app/your_app_name(或应用菜单入口)

五 常见问题与排查

  • 依赖缺失或运行崩溃:
    • 使用 ldd 检查可执行文件依赖:ldd build/linux/x64/release/bundle/your_app_name
    • 在 debian.yaml 的 Depends 中补充缺失的库(如 libgtk-3-0、liblzma5 等),重新打包安装
  • 图标不显示:
    • 使用 flutter_launcher_icons 统一生成图标,确保 image_path 指向高分辨率 PNG(建议 512×512)
  • 构建 iOS 失败或无法签名:
    • iOS 的最终构建与归档必须在 Mac + Xcode 完成;Debian 上仅能生成 Xcode 工程
  • 环境与工具链问题:
    • 以 flutter doctor 输出为准逐项修复(Android SDK、JDK、构建工具、设备连接等)

0