在 Debian(及其他 Linux 发行版)上“打包 Flutter 程序”通常有几种层次,取决于你的目标:
.deb 安装包:可在 Debian/Ubuntu 上分发下面按最常见需求一步步讲:
构建 Flutter Linux 应用 → 打包成 .deb
sudo apt update
sudo apt install -y git curl unzip xz-utils
下载并安装 Flutter:
git clone https://github.com/flutter/flutter.git -b stable
export PATH="$PATH:$HOME/flutter/bin"
flutter doctor
flutter config --enable-linux-desktop
flutter doctor
flutter create my_app
cd my_app
flutter build linux --release
构建结果在:
build/linux/x64/release/bundle/
包含:
lib/data/.deb(推荐方式)dpkg-deb(最简单)mkdir -p myapp_deb/DEBIAN
mkdir -p myapp_deb/opt/myapp
mkdir -p myapp_deb/usr/share/applications
cp -r build/linux/x64/release/bundle/* myapp_deb/opt/myapp/
control 文件nano myapp_deb/DEBIAN/control
示例:
Package: myapp
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Depends: libgtk-3-0, libblkid1, liblzma5
Maintainer: you <you@example.com>
Description: My Flutter App
A simple Flutter Linux application.
nano myapp_deb/usr/share/applications/myapp.desktop
[Desktop Entry]
Name=MyApp
Exec=/opt/myapp/myapp
Icon=/opt/myapp/icon.png
Type=Application
Categories=Utility;
dpkg-deb --build myapp_deb
生成:
myapp_deb.deb
安装测试:
sudo dpkg -i myapp_deb.deb
flutter_distributordart pub global activate flutter_distributor
flutter_distributor release --targets deb
自动生成 .deb
linuxdeploy(AppImage / deb)适合跨发行版:
linuxdeploy --appdir AppDir --output deb
ldd build/linux/x64/release/bundle/myapp
在 Depends 中添加对应库。
使用 --release 并在目标系统测试。
确保:
.desktop 路径正确Icon 为绝对路径| 目的 | 推荐方式 |
|---|---|
| 本地运行 | flutter build linux |
| Debian 安装包 | dpkg-deb |
| 自动打包 | flutter_distributor |
| 跨发行版 | AppImage |
如果你愿意,我可以:
.deb 模板你现在是 个人使用还是分发?