1. 准备Debian系统环境
确保Debian系统为64位版本,且已更新至最新状态:
sudo apt update && sudo apt upgrade -y
安装Flutter依赖的工具链(包括编译、图形库及解压工具):
sudo apt install -y wget git cmake unzip libgl1-mesa-dev libgconf-2-4 libxkbcommon-x11-0 libxcursor1 libxdamage1 libxi6 libxtst6 libcups2 libasound2 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good
2. 安装Flutter SDK
从Flutter官网下载最新的稳定版SDK(以2.10.4为例):
wget https://storage.googleapis.com/flutter-release/releases/2.10.4/flutter-linux-amd64-2.10.4.tar.xz
解压至指定目录(如/flutter):
sudo mkdir -p /flutter
sudo tar -xf flutter-linux-amd64-2.10.4.tar.xz -C /flutter
配置环境变量,将Flutter的bin目录添加至PATH:
echo 'export PATH="$PATH:/flutter/bin"' >> ~/.bashrc
source ~/.bashrc
验证安装是否成功:
flutter doctor
根据flutter doctor的输出安装缺失的依赖(如Android工具链,若需开发Android应用)。
3. 创建或配置Flutter项目
创建新的Flutter项目(若已有项目可跳过此步):
flutter create my_flutter_app
cd my_flutter_app
编辑pubspec.yaml文件,添加桌面平台支持(确保flutter模块包含linux):
flutter:
uses-material-design: true
desktop:
- linux # 启用Linux平台支持
获取项目依赖:
flutter pub get
4. 构建Linux桌面应用
使用Flutter命令构建Linux版本的应用:
flutter build linux
构建完成后,生成的程序文件位于build/linux/x64/release/bundle/目录下,其中my_flutter_app为可执行文件。
5. 打包为Debian安装包(.deb)
安装flutter_build_debian插件(用于自动化打包):
flutter pub global activate flutter_build_debian
在项目根目录创建debian.yaml配置文件(定义包信息):
flutter_app:
command: my_flutter_app # 应用可执行文件名(需与build目录下一致)
arch: amd64 # 目标架构(Debian常用amd64)
parent: /opt/my_flutter_app # 应用安装目录(建议使用/opt)
nonInteractive: false # 是否允许非交互式安装
运行打包命令生成.deb文件:
flutter pub global run flutter_build_debian
生成的.deb文件位于build/debian/目录下(如my_flutter_app_1.0.0_amd64.deb)。
6. 部署与安装应用
将.deb文件传输至目标Debian服务器(可通过scp或U盘):
scp build/debian/my_flutter_app_1.0.0_amd64.deb user@server_ip:/tmp
在目标服务器上安装应用(使用dpkg命令):
sudo dpkg -i /tmp/my_flutter_app_1.0.0_amd64.deb
若安装过程中提示缺失依赖,运行以下命令自动修复:
sudo apt --fix-broken install
安装完成后,通过应用名称启动(如my_flutter_app):
/opt/my_flutter_app/my_flutter_app
7. 可选:使用Docker简化部署
若需统一环境,可创建Docker镜像部署Flutter应用:
Dockerfile(定义Flutter环境与构建步骤):FROM cirrusci/flutter:stable
WORKDIR /app
COPY . .
RUN flutter pub get
RUN flutter build linux
docker build -t my_flutter_app .
docker run -it --rm -p 8080:8080 my_flutter_app
通过http://server_ip:8080访问应用(需确保端口开放)。