Flutter 3.0+ 最新常用 CLI 命令(剔除废弃命令)
适配 Flutter 3.10~3.20+(2025 稳定版),覆盖项目开发全流程,便于二次编辑。
一、项目初始化与管理(核心高频)
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter create <项目名> | 创建新的 Flutter 项目 (默认包含 Android/iOS/Web/桌面模板) | 替代旧版 flutter create --template app <项目名>(模板参数冗余,默认即为 app 模板) |
flutter create --org com.xxx <项目名> | 指定包名 (Android:包名,iOS:Bundle ID) | 推荐显式指定包名, 避免默认 com.example 无法上架 |
flutter create --platforms ios,android <项目名> | 仅创建指定平台的项目 (减少冗余文件) | 支持平台:ios/android/web/linux/macos/windows按需选择 |
flutter clean | 清理项目构建缓存、临时文件 (解决编译异常常用) | 无废弃替代,核心命令 (清理后需重新 pub get) |
flutter pub get | 安装/更新 pubspec.yaml 中的依赖包 | 替代已废弃的 flutter packages get(完全等价, pub 命令更统一) |
flutter pub add <依赖名> | 新增依赖包 (自动写入 pubspec.yaml 并安装) | 替代手动编辑 pubspec.yaml + pub get支持指定版本: flutter pub add dio:^5.4.0 |
flutter pub remove <依赖名> | 移除依赖包 (自动更新 pubspec.yaml) | 替代手动删除依赖 + pub get更高效无残留 |
flutter pub upgrade | 升级依赖包到最新兼容版本 | 替代已废弃的 flutter packages upgrade如需指定版本: flutter pub upgrade dio |
flutter pub outdated | 查看可升级的依赖包 (显示当前版/最新版) | 无废弃替代,选型时常用 (避免盲目升级 Breaking Change) |
二、运行与调试(开发核心)
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter run | 启动项目 (默认连接首个可用设备/模拟器) | 替代旧版 flutter run --hot(热重载默认启用,无需显式参数) |
flutter run -d <设备ID> | 指定设备运行 (多设备/模拟器时用) | 先通过 flutter devices 获取设备ID例: flutter run -d iPhone15 或flutter run -d emulator-5554 |
flutter run --release | 以 release 模式运行 (无调试信息,性能最优) | 替代旧版 flutter run -r(简写仍可用,但推荐完整命令更清晰) |
flutter run --profile | 以性能分析模式运行 (排查卡顿、内存泄漏) | 无废弃替代,生成的性能报告可在 Chrome 中打开 地址: chrome://inspect |
flutter run --dart-define=ENV=prod | 注入环境变量 (区分开发/测试/生产环境) | 替代旧版 --define 参数(Flutter 3.7+ 统一)支持多变量: --dart-define=ENV=prod --dart-define=API_URL=https://xxx.com |
flutter attach | 附加到已运行的 Flutter 应用 (调试已启动的 App) | 无废弃替代,需确保设备与电脑连接, 且 App 未退出 |
flutter hot-reload | 热重载 (快速刷新 UI,保留状态) | 开发中可在终端直接输入 r 快捷键(无需完整命令),无废弃替代 |
flutter hot-restart | 热重启 (重置状态,重新初始化) | 终端输入 R 快捷键,替代旧版 flutter restart(命令仍可用,快捷键更高效) |
三、构建与打包(发布核心)
3.1 Android 打包
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter build appbundle | 构建 Android App Bundle (Google Play 推荐格式,体积更小) | 替代已废弃的 flutter build bundle优先使用 appbundle 而非 apk 上架 |
flutter build apk --release | 构建 Android 通用 APK (兼容所有架构,体积较大) | 支持拆分架构:flutter build apk --release --split-per-abi(生成 arm64/armeabi/x86 三个 APK) |
flutter build apk --target-platform android-arm64 | 构建指定架构 APK (仅 arm64,适配现代安卓机) | 替代旧版 --abi 参数支持架构: android-arm64(推荐)/android-armeabi-v7a/android-x64 |
3.2 iOS 打包
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter build ipa | 构建 iOS IPA 包 (用于 App Store 提交) | 替代已废弃的 flutter build ios --archive自动生成归档文件,需先配置 Xcode 签名 |
flutter build ios --release --no-codesign | 构建无签名 iOS 包 (测试用) | 仅用于模拟器或越狱设备, 上架必须用 flutter build ipa 并配置签名 |
3.3 跨平台打包
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter build web | 构建 Web 应用 (生成静态文件,部署到服务器) | 支持指定基础路径:flutter build web --base-href /flutter-app/(部署到子目录时用) |
flutter build windows | 构建 Windows 桌面应用 (.exe 文件) | 需安装 Windows 桌面开发环境flutter config --enable-windows-desktop |
flutter build macos | 构建 macOS 桌面应用 (.app 文件) | 需 macOS 系统 + Xcode 桌面开发环境flutter config --enable-macos-desktop |
flutter build linux | 构建 Linux 桌面应用 | 需 Linux 系统 + 对应依赖flutter config --enable-linux-desktop |
四、设备与环境管理
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter doctor | 检查 Flutter 开发环境 (依赖、设备、工具链) | 核心排障命令,红色 X 表示缺失依赖按提示修复,例: flutter doctor --android-licenses(接受安卓协议) |
flutter devices | 列出已连接的设备/模拟器 | 替代旧版 flutter device(单数形式已废弃)-v 参数查看详细信息 |
flutter emulators | 列出可用的模拟器 | 启动模拟器:flutter emulators --launch <模拟器ID>创建模拟器:需通过 Android Studio/Xcode |
flutter config --enable-web | 启用 Web 开发支持 | 同理支持其他桌面平台:--enable-windows-desktop/--enable-macos-desktop/--enable-linux-desktop(Flutter 3.0+ 默认支持,仅首次需配置) |
flutter config --set enable-android-x true | 启用 AndroidX 支持 (默认已启用) | 替代旧版强制开启参数, Flutter 2.0+ 新项目默认使用 AndroidX,无需手动设置 |
flutter --version | 查看 Flutter/Dart 版本号 | 替代旧版 flutter version(已废弃)示例输出: Flutter 3.20.0 • Dart 3.4.0 |
flutter upgrade | 升级 Flutter 到最新稳定版 | 指定版本升级:flutter upgrade v3.16.0(稳定版)预览版: flutter upgrade --pre |
五、代码工具(格式化/分析/测试)
| 最新命令 | 用途描述 | 废弃替代/关键说明 |
|---|---|---|
flutter format <目录/文件> | 格式化 Dart 代码 (遵循官方规范) | 替代已废弃的 dartfmt(单独使用 dartfmt 需手动安装, flutter format 更集成) |
flutter analyze | 静态代码分析 (排查语法错误、代码规范问题) | 替代旧版 flutter lint(已整合到 analyze)--no-fatal-infos:忽略警告信息 |
flutter test | 运行单元测试/组件测试 (test 目录下的测试用例) | 运行指定测试:flutter test test/home_test.dart生成覆盖率报告: flutter test --coverage |
flutter drive --target=test_driver/app.dart | 运行集成测试 (自动化 UI 测试) | 替代旧版 flutter test --drive需配合 flutter_driver 依赖 |
六、关键废弃命令汇总(避坑重点)
| 已废弃命令 | 最新替代命令 | 废弃版本(参考) |
|---|---|---|
flutter packages get | flutter pub get | Flutter 2.0+ |
flutter packages upgrade | flutter pub upgrade | Flutter 2.0+ |
flutter build bundle | flutter build appbundle | Flutter 1.20+ |
flutter device(单数) | flutter devices(复数) | Flutter 3.0+ |
flutter version | flutter --version | Flutter 2.5+ |
dartfmt <文件> | flutter format <文件> | Flutter 2.0+ |
flutter run --hot | flutter run(热重载默认启用) | Flutter 1.17+ |
flutter create --template app | flutter create(默认即为 app 模板) | Flutter 3.0+ |
七、常用参数速查(高频复用)
-d <设备ID>:指定运行/构建的设备
示例:flutter run -d emulator-5554--release:发布模式(无调试信息,性能最优)--profile:性能分析模式(排查卡顿、内存问题)--dart-define=KEY=VALUE:注入环境变量(区分环境)-v/--verbose:详细日志模式(排障时用)--no-tree-shake-icons:禁用图标摇树优化
(避免图标丢失)
八、注意事项
- 所有命令需在 项目根目录 执行
(终端切换到pubspec.yaml所在目录); - 若命令报错,优先执行
flutter doctor修复环境问题; - Flutter 版本更新较快,可通过
flutter --version确认当前版本,
部分命令参数可能随版本微调; - 二次编辑建议:可根据自身开发场景(如仅做 Android+Web 开发)
删除无关平台命令,或在“关键说明”列补充项目专属备注。