- 首页 >
- 问答 >
-
智能运维 >
- Linux上Flutter应用的打包流程是怎样的
Linux上Flutter应用的打包流程是怎样的
小樊
46
2025-12-13 06:12:17
Linux上Flutter应用的打包流程
一 准备环境
- 安装 Flutter SDK 并加入 PATH,执行 flutter doctor -v 检查环境;如缺少 Java JDK,请先安装,以便使用 keytool 生成签名。
- 准备 Android SDK(如需打包 APK),按提示运行 flutter doctor --android-licenses 接受协议。
- 如需桌面端,启用 Linux 桌面支持:在项目根目录执行 flutter config --enable-linux-desktop,确保已安装构建依赖(如 clang、cmake、ninja、pkg-config、libgtk-3-dev 等)。
二 打包 Android APK
- 生成签名密钥(Linux/macOS 终端):
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
- 在项目中创建 android/key.properties:
storePassword=
keyPassword=
keyAlias=key
storeFile=
- 配置 android/app/build.gradle(Kotlin DSL 示例):
- 顶部加载 key.properties
- 定义 signingConfigs.release 并从属性读取
- 在 buildTypes.release 中设置 signingConfig = signingConfigs.release
- 构建发布包:
- 单架构:flutter build apk --release
- 按 ABI 拆分:flutter build apk --release --split-per-abi
- 产物路径:通常在 build/app/outputs/flutter-apk/release/app-release.apk。
三 打包 Linux 桌面应用
- 启用桌面支持并获取依赖后,直接构建:
- 应用包:flutter build linux --release
- 产物目录:build/linux/x64/release/bundle/(内含可执行文件与资源)
- 可选:生成 .deb 包以便分发
- 添加插件:flutter pub add flutter_launcher_icons 并生成图标
- 在项目根目录创建 debian.yaml,配置包名、版本、架构、依赖、入口命令等
- 构建:flutter pub run flutter_build_debian
- 安装测试:sudo dpkg -i .deb
四 常见问题与提示
- 构建 Android 时若报 app:lintVitalRelease 导致失败,可在 android/app/build.gradle 的 android 块中添加:
lintOptions { checkReleaseBuilds false; abortOnError false }
- 需要同时面向 ARM64 与 x64 设备,优先使用 –split-per-abi 生成多个 APK,减少包体积并提升兼容性与安装成功率。
- 分发 .deb 前,确认 debian.yaml 中的 arch、depends 与实际运行环境匹配,避免依赖缺失。