Flutter常用命令整理

news/2024/11/14 12:17:59/

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.ppmy.cn/news/1546303.html

相关文章

Elasticsearch常用接口_添加数据

插入es数据&#xff1a;_index/_type/ POST { "tabTitle": "森图表_test", "chtTabTitle": "森图表_test", "status": 0 } 注意&#xff1a;Elasticsearch 6.0.0及更高版本中&#xff0c;索引只能包含一个映射类型

屏幕后期处理

1、屏幕后期处理效果 屏幕后期处理效果&#xff08; Screen Post-Processing Effects&#xff09;是一种在渲染管线的最后阶段应用的视觉效果&#xff0c;允许在场景渲染完成后对最终图像进行各种调整和效果处理&#xff0c;从而增强视觉体验 常见的屏幕后期处理效果有&#x…

App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)

一、App 渠道来源追踪概述 渠道来源统计/追踪&#xff0c;其原理都可以称之为归因&#xff0c;归因是用于判断用户在什么原因、什么时间、什么场景下载了 App&#xff0c;以及打通他们在激活 App 后进行的一系列操作&#xff08;比如注册、付费、加购等&#xff09;。 渠道来…

你对安装在自己网站上的wordpress插件了解吗?

有不少用wordpress建站的人&#xff0c;喜欢用插件实现一些功能&#xff0c;使用插件是可以很方便的实现一些功能&#xff0c;但是&#xff0c;使用插件也会带来不少的问题。关于这个&#xff0c;这里就不讲了&#xff0c;网上可以搜索出一堆相关的内容来&#xff0c;这里只提出…

修改elementUI等UI组件样式的5种方法总结,哪些情况需要使用/deep/, :deep()等方式来穿透方法大全

文章目录 方法 1:全局修改样式示例:修改 `ElMessage` 的背景色和字体颜色方法 2:修改特定类型的 `ElMessage` 样式-全局-不需要穿透示例:修改 `ElMessage` 成功类型的样式方法 3:通过 Scoped CSS 在组件内部修改-局部-不需要穿透方法 4:使用 JavaScript 动态修改样式-不需…

STM32外设之SPI的介绍

### STM32外设之SPI的介绍 SPI&#xff08;Serial Peripheral Interface&#xff09;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;主要用于EEPROM、FLASH、实时时钟、AD转换器等外设的通信。SPI通信只需要四根线&#xff0c;节约了芯片的管脚&#x…

【dvwa靶场:XSS系列】XSS (DOM) 低-中-高级别,通关啦

一、低级low 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default 拼接的新内容 <script>alert("假客套")</script> 二、中级middle 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vuln…

一文读懂【CSR社会责任报告】

CSR社会责任报告是企业将其履行社会责任的理念、战略、方式方法&#xff0c;以及其经营活动对经济、环境、社会等领域造成的直接和间接影响、取得的成绩及不足等信息&#xff0c;进行系统的梳理和总结&#xff0c;并向利益相关方进行披露的方式。以下是对CSR社会责任报告及其报…