1. 配置Flutter项目支持Linux平台
在项目根目录的pubspec.yaml文件中,添加linux到desktop字段,声明项目支持Linux平台,示例如下:
flutter:
uses-material-design: true
assets:
- images/ # 你的资源文件路径
desktop:
- linux # 启用Linux平台支持
配置完成后,运行flutter pub get获取依赖。
2. 准备应用图标(可选但推荐)
使用flutter_launcher_icons插件统一应用图标,避免默认图标影响用户体验。
flutter pub add flutter_launcher_iconspubspec.yaml中添加flutter_launcher_icons配置,指定图标路径):flutter_launcher_icons:
linux_icon: "assets/icon.png" # 替换为你的图标路径
flutter pub run flutter_launcher_icons:main3. 构建Linux原生可执行文件
运行以下命令构建Linux平台的发布版本应用:
flutter build linux --release
构建完成后,可执行文件会生成在build/linux/x64/release/bundle/目录下(文件名为你的项目名称,如my_app)。
4. 生成Debian安装包(.deb文件)
使用flutter_build_debian插件将可执行文件打包为Debian兼容的安装包(.deb),方便通过APT等包管理工具分发。
flutter pub add flutter_build_debiandebian.yaml文件,配置应用元数据(关键字段说明见下文):flutter_app:
command: my_app # 可执行文件名(与build/linux下的文件名一致)
arch: x64 # 架构(x64对应大多数Debian系统)
parent: /opt # 应用安装父目录(建议使用/opt/your_app_name)
nonInteractive: false # 是否允许静默安装(false表示安装时需用户确认)
control:
Package: my-cool-app # Debian包名(需符合命名规范,如全小母+连字符)
Version: 1.0.0 # 应用版本号
Architecture: amd64 # 系统架构(与arch一致)
Priority: optional # 包优先级(optional为常规包)
Depends: # 依赖项(需包含flutter运行时,可根据实际情况添加)
- flutter
- libgtk-3-0
- libwebkit2gtk-4.0-37
Maintainer: Your Name <your.email@example.com> # 维护者信息
Description: A cross-platform Flutter app for Linux. # 应用描述
flutter pub run flutter_build_debian,生成的.deb文件会存放在build/debian/目录下(如my-cool-app_1.0.0_amd64.deb)。5. 发布Debian包
将生成的.deb文件分发给用户,用户可通过以下命令安装:
sudo dpkg -i my-cool-app_1.0.0_amd64.deb # 安装包
sudo apt-get install -f # 自动解决依赖问题(若有)
若需大规模分发,可将.deb文件上传至Debian软件仓库(如Launchpad、Private PPAs)或第三方应用商店(如Flathub),方便用户通过apt或应用商店直接安装。
注意事项
debian.yaml中的Depends字段包含应用所需的所有系统库(可通过ldd build/linux/x64/release/bundle/my_app命令查看依赖)。flutter_launcher_icons生成的图标需符合Linux桌面环境(如GNOME、KDE)的尺寸要求(如16x16、32x32、48x48等)。Version字段(遵循语义化版本规范,如1.0.0→1.0.1→2.0.0),避免包冲突。