在 Debian 上“打包 Flutter”通常有两种含义,我先说明清楚,再分别讲做法:
.deb,方便分发/部署).deb 安装包)下面分别说明。
不管哪种方式,先装依赖:
sudo apt update
sudo apt install -y git curl wget unzip \
clang cmake ninja-build pkg-config \
libgtk-3-dev liblzma-dev libstdc++-12-dev
安装 Flutter:
git clone https://github.com/flutter/flutter.git -b stable ~/flutter
export PATH="$HOME/flutter/bin:$PATH"
flutter doctor
如果你是内网分发 Flutter,可以用 dpkg-deb 简单封包。
flutter-sdk/
├── DEBIAN/
│ └── control
└── opt/
└── flutter/
control 文件示例:
Package: flutter-sdk
Version: 3.22.0
Section: devel
Priority: optional
Architecture: amd64
Maintainer: you@example.com
Description: Flutter SDK
打包:
dpkg-deb --build flutter-sdk
⚠️ 这种方式不推荐生产使用,Flutter 更适合作环境变量管理。
flutter config --enable-linux-desktop
flutter build linux --release
产物在:
build/linux/x64/release/bundle/
myapp/
├── DEBIAN/
│ └── control
├── usr/
│ ├── bin/myapp
│ └── lib/myapp/
│ └── (bundle 内容)
└── usr/share/applications/myapp.desktop
control:
Package: myapp
Version: 1.0.0
Architecture: amd64
Depends: libgtk-3-0
Maintainer: you@example.com
Description: My Flutter App
myapp.desktop:
[Desktop Entry]
Name=MyApp
Exec=/usr/lib/myapp/myapp
Type=Application
Categories=Utility;
/usr/bin/myapp:
#!/bin/bash
/usr/lib/myapp/myapp
chmod +x usr/bin/myapp
dpkg-deb --build myapp
fpm(快速打包)gem install fpm
fpm -s dir -t deb -n myapp -v 1.0.0 build/linux/x64/release/bundle/=/
flutter_distributor(专为 Flutter 打包)dart pub global activate flutter_distributor
flutter_distributor release --targets deb
flutter doctor 报 clang 错误 → 装 clang.so → 用 ldd 查依赖如果你能告诉我:
我可以直接给你一套可复制的打包脚本。