温馨提示×

Debian系统下Flutter应用的部署方法

小樊
32
2025-12-20 06:17:07
栏目: 智能运维

Debian下Flutter应用的部署方法

一 环境准备与SDK安装

  • 更新系统并安装基础依赖:
    • sudo apt update && sudo apt upgrade -y
    • sudo apt install -y wget git cmake unzip build-essential libgl1-mesa-dev
  • 下载并解压 Flutter SDK(以稳定版为例,版本号可按需调整):
    • wget https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v3.10.4-stable.tar.xz
    • sudo mkdir -p /opt/flutter
    • sudo tar -xf flutter_linux_v3.10.4-stable.tar.xz -C /opt/flutter
  • 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
    • echo ‘export PATH=“$PATH:/opt/flutter/bin”’ >> ~/.bashrc && source ~/.bashrc
  • 验证环境:
    • flutter doctor(按需安装缺失组件,例如 Android 工具链、桌面支持等)

二 构建与本地运行

  • 新建或进入项目:
    • flutter create my_flutter_app && cd my_flutter_app
  • 启用桌面支持(首次需要):
    • flutter config --enable-linux-desktop
  • 本地运行与调试:
    • flutter run -d linux
  • 构建 Linux 发行版产物(位于 build/linux/x64/release/bundle/):
    • flutter build linux --release
  • 说明:Flutter 在 Debian 上可用于移动与桌面开发,桌面端可直接运行与打包,Android 端也可在 Debian 上构建。

三 打包为 Debian 安装包 .deb

  • 方式一 使用 flutter_linux_packager 生成 .deb
    • 安装打包工具:
      • flutter pub global activate flutter_linux_packager
    • 在项目根目录执行(按交互填写应用名、版本、描述、维护者、分类、图标等):
      • flutter pub global run flutter_linux_packager:main
    • 生成的 .deb 位于项目根目录的 linux/flutter/(或 build/linux/) 下,可用以下命令安装与校验:
      • sudo apt install ./your-app_1.0.0_amd64.deb
      • dpkg -s your-app
  • 方式二 使用第三方插件(如 flutter_build_debian)
    • 添加依赖并配置后执行构建,产出 .deb 供分发与 APT 安装(适合团队化与自动化发布)。

四 构建 Android APK 并签名发布

  • 准备签名密钥(仅首次):
    • keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mykey
  • 配置签名(android/app/key.properties):
    • storePassword=****
    • keyPassword=****
    • keyAlias=mykey
    • storeFile=/absolute/path/to/key.jks
  • 在 android/app/build.gradle 中读取 key.properties 并配置 signingConfigs.release
  • 构建与签名:
    • flutter build apk --release
    • 产物路径:build/app/outputs/flutter-apk/app-release.apk
    • 如需使用 apksigner 进行签名或校验,可结合 jarsigner/apksigner 完成发布流程。

五 部署分发与运维建议

  • 桌面端分发:将 .deb 上传至制品仓库或官网,用户通过 APT 安装(sudo apt install ./app.deb),必要时配合 GPG 公钥与仓库源进行可信分发。
  • Android 分发:上传 app-release.apk 到应用商店或内部分发平台;确保已正确签名并开启混淆/压缩以减小体积与提升安全性。
  • 服务器/微服务场景:若以 Flutter Web 提供 HTTP 服务,可在 Debian 上构建后使用 Nginx/Apache 反向代理与 HTTPS 终端;也可容器化(Docker)便于扩缩与 CI/CD 集成。

0