Flutter常用命令整理

Flutter常用命令

前言

做flutter开发已经有一段时间了,flutter 作为跨平台框架,对于开发效率,有很大的提升,虽然在使用过程中存在一些坑,比如稀奇古怪的适配、兼容性问题,频繁升级flutter版本带来的开发成本,但总之瑕不掩瑜。使用得当对提上开发效率还是有很大的帮助的,接下来我会整理一些常用的flutter命令以及相关使用场景。

Flutter 单元测试

大公司一般对代码质量评审都很严格的而单元测试便是其中重要一环。常用的跑单元测试的方法:

dart 复制代码
// 全量跑所有UT
flutter test

//跑具体某一个部分
flutter  test test/myPath

//如果当前项目未升级到空安全run UT(sdk: ">=2.7.0 <2.12.0")
//--no-sound-null-safety: 这个标志用于在运行时禁用空安全检查,这样可以确保你的测试以非空安全的方式运行。
flutter test --no-sound-null-safety

//默认run UT会去拉依赖,如果当前没有网或者不想拉依赖
flutter test --no-pub

单元测试覆盖率

要生成覆盖率报告命令

dart 复制代码
flutter test --covreage

作用: 此命令运行所有单元测试,并生成覆盖率数据。
输出文件: 覆盖率数据通常会输出到 coverage/lcov.info 文件中。

lcov.info 文件

  • lcov.info 文件是一个标准的覆盖率报告文件,包含了哪些文件被测试、哪些行被执行等详细信息。

查看覆盖率报告

lcov.info 文件是一个很难读懂的文件:

TN:

SF:/path/to/your/file.dart

DA:10,1

DA:11,0

DA:12,1

BRDA:10,0,0,1

BRDA:12,0,0,0

BRF:2

BRH:1

LF:3

LH:2

end_of_record

如果我们想要展示成可视化文件(html)可以借助genhtml工具:

genhtml 是一个常用工具,可以将 lcov.info 文件转换为 HTML 报告。

可以通过 Homebrew 安装:

dart 复制代码
brew install lcov

生成 HTML 报告: 在终端中运行以下命令:

dart 复制代码
genhtml -o coverage/html coverage/lcov.info

执行成功后便可以在 coverage/html 目录中生成 HTML 格式的覆盖率报告。效果大致如下

依赖更新

flutter pub get
作用: 获取 pubspec.yaml 文件中列出的所有依赖项。它会下载并安装这些依赖项到项目的 .dart_tool 目录下。
使用场景: 在添加新的依赖或克隆项目后首次运行时使用,以确保所有依赖项都已正确安装。

dart 复制代码
flutter pub get

flutter pub upgrade
作用 : 升级项目中的依赖项到其允许的最新版本。它会根据 pubspec.yaml 中的版本约束,寻找每个依赖项的最新版本。
使用场景: 当你想要将所有依赖项升级到最新的兼容版本时使用。

dart 复制代码
flutter pub upgrade -v //需要日志输出增加 -v

flutter pub outdate
作用: 显示项目中所有依赖项的当前版本、允许的最新版本以及最新可用版本的比较信息。这个命令帮助你了解哪些依赖项是过时的。
使用场景: 在计划进行依赖项升级前使用,以评估哪些依赖项需要更新。

dart 复制代码
flutter pub outdated

flutter pub cache repair
作用: 修复本地的 pub 缓存。它会重新下载和校验缓存中的所有包,以确保没有损坏的文件。
使用场景: 当你怀疑本地缓存有问题(如包下载不完整或损坏)时使用。

dart 复制代码
flutter pub cache repair

flutter clean
作用: 清理构建目录和缓存文件,包括依赖的缓存。虽然不是直接的依赖管理命令,但在遇到构建问题时常与依赖管理命令一起使用。
使用场景: 在重新配置项目或解决构建问题时使用,以确保所有缓存和临时文件被清理。

dart 复制代码
flutter clean

开发与调试

flutter 支持热更新,使用起来,开发效率及其高。使用方式如下
运行项目
作用: 在连接的设备或模拟器上运行 Flutter 应用程序。
使用场景: 开发过程中频繁使用,以实时查看代码更改的效果,以及随时debug调试

dart 复制代码
flutter run

如何热重载

在运行应用后,直接在终端中按下 r。或者点击AS上的⚡️按钮

作用: 将代码更改快速应用于正在运行的应用,无需再次运行。
使用场景: 对 UI 和逻辑的小改动特别有用(对新建的page、路由无效,单页面UI修改很合适无需重启应用)。

热重启

在运行应用后,直接在终端中按下 R。

作用: 重启应用并应用代码更改。
使用场景: 在更改全局状态或初始化代码时使用。

其他常用命令

环境检查

dart 复制代码
//检查你的 Flutter 开发环境是否已正确配置,包括 Dart SDK、Android Studio、iOS 工具等。
flutter doctor

构建 APK

dart 复制代码
flutter build apk

构建 iOS 应用

dart 复制代码
flutter build ios

性能分析

dart 复制代码
flutter analyze

end

对于flutter中一些常用的命令差不多就这么多了,后面遇到的话再更新进来。

相关推荐
1024小神42 分钟前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛1 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
AiFlutter1 小时前
Flutter通过 Coap发送组播
flutter
Y多了个想法2 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter3 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快4 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl4 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
麦田里的守望者江4 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
Dnelic-5 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记
佛系小嘟嘟5 小时前
Android Studio不显示需要的tag日志解决办法《All logs entries are hidden by the filter》
android·ide·android studio