当前位置: 首页 > article >正文

Flutter常用命令整理

Flutter常用命令

    • 前言
    • Flutter 单元测试
    • 依赖更新
    • 开发与调试
    • 其他常用命令
    • end

前言

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

Flutter 单元测试

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

// 全量跑所有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

单元测试覆盖率
要生成覆盖率报告命令

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 安装:

brew install lcov

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

genhtml -o coverage/html coverage/lcov.info

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

覆盖率展示

依赖更新

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

flutter pub get

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

flutter pub upgrade -v //需要日志输出增加 -v

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

flutter pub outdated

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

flutter pub cache repair

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

flutter clean

开发与调试

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

flutter run

如何热重载

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

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

热重启

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

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

其他常用命令

环境检查

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

构建 APK

flutter build apk

构建 iOS 应用

flutter build ios

性能分析

flutter analyze

end

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


http://www.kler.cn/a/382704.html

相关文章:

  • 25.停车场管理系统(基于web的Java项目)
  • [mysql]mysql的DML数据操作语言增删改,以及新特性计算列,阿里巴巴开发手册mysql相关
  • 如何在一个 Docker 容器中运行多个进程 ?
  • GPIO子系统中Controller驱动源码分析
  • 核心概念解析Caffeine 缓存模型与策略
  • Flutter 正在切换成 Monorepo 和支持 workspaces
  • Halcon 矫正图像 图像矫正
  • CustomDataSource、Entity 和 Primitive 区别
  • MongoDB笔记02-MongoDB基本常用命令
  • 小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
  • 搭建react项目
  • Markdown转HTML
  • 前深度学习时代-经典的推荐算法
  • 《JVM第7课》堆区
  • qt QTextStream详解
  • ssm基于Web的汽车客运订票系统的设计与实现+vue
  • 解决return code from pthread_create() is 22报错问题
  • 《运维网络安全》
  • 对比Java和TypeScript中的服务注册和查找机制
  • 在 JavaScript 中,`Array.prototype.filter` 方法用于创建一个新数组,该数组包含通过测试的所有元素
  • 机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验
  • java 实训第12天 (git版本控制继续)
  • 【无标题】特征降维的常见方法
  • 3D互动+AR试戴,重塑线上珠宝营销新体验!
  • 【题解】—— LeetCode一周小结44
  • 效果框架(效果ID3DXEffect)