1. 准备Debian系统环境
确保Debian系统已安装Flutter SDK、Android SDK(如需打包Android应用)及必要依赖。配置环境变量(如PATH包含Flutter和Android SDK的bin目录),并通过flutter doctor验证环境完整性。
2. 配置Flutter项目支持目标平台
在pubspec.yaml文件中添加desktop或linux平台支持(若打包Linux应用):
flutter:
uses-material-design: true
assets:
- images/ # 你的资源文件路径
desktop:
- linux # 启用Linux平台支持
运行flutter pub get同步依赖。
3. 构建Flutter应用(Linux平台)
在项目根目录执行以下命令,生成Linux平台的发布版本应用:
flutter build linux --release
构建完成后,应用文件会存放在build/linux/x64/release/bundle/目录下(包含可执行文件my_app及资源)。
4. 安装打包插件(生成Debian包)
通过Flutter pub全局安装flutter_build_debian插件(用于自动化生成Debian包):
flutter pub global activate flutter_build_debian
激活后,插件会提供flutter_build_debian命令。
5. 创建debian.yaml配置文件
在项目根目录创建debian.yaml文件,定义Debian包的元数据和依赖:
flutter_app:
command: my_app # 替换为你的应用可执行文件名(build/linux/x64/release/bundle/下的文件)
arch: amd64 # 目标架构(通常为amd64)
parent: /opt/my_app # 应用安装目录(自定义,建议使用应用专属目录)
control:
Package: my-flutter-app # Debian包名称(自定义,需唯一)
Version: 1.0.0 # 应用版本号
Architecture: amd64 # 与flutter_app.arch一致
Priority: optional # 包优先级(optional/extra/restricted等)
Depends: # 依赖的库(根据应用实际需求添加,如flutter、libc等)
- flutter
- libc6 (>= 2.28)
- libgtk-3-0 (>= 3.24)
Maintainer: Your Name <your.email@example.com> # 包维护者信息
Description: A cross-platform Flutter application. # 应用描述(简要说明功能)
注意:command字段需指向flutter build linux生成的Linux可执行文件路径;Depends需包含应用依赖的系统库(可通过ldd build/linux/x64/release/bundle/my_app命令查看)。
6. 生成Debian包
在项目根目录运行以下命令,生成.deb格式的Debian包:
flutter pub global run flutter_build_debian
构建完成后,.deb文件会存放在build/debian/目录下(文件名格式为<package-name>_<version>_<architecture>.deb,如my-flutter-app_1.0.0_amd64.deb)。
7. 分发与安装Debian包
将生成的.deb文件分发给目标用户,用户可通过以下命令安装:
sudo dpkg -i build/debian/my-flutter-app_1.0.0_amd64.deb
若安装过程中出现依赖缺失,APT会自动提示并尝试解决(或手动运行sudo apt --fix-broken install修复)。
常见问题解决
flutter build linux失败,需通过sudo apt install安装缺失的依赖(如libgtk-3-dev、liblzma-dev等);flutter_launcher_icons插件生成应用图标(需在pubspec.yaml中配置图标路径,再运行flutter pub run flutter_launcher_icons:main)。