如何升级现有的 Flutter 应用?

2024-04-02

我有一个半年前构建的现有 Flutter 应用程序。我查了一下pubspec.lock,它有这一行:

sdks:
  dart: ">=2.10.0-110 <2.11.0"
  flutter: ">=1.16.0 <2.0.0"

所以我假设该应用程序是为 Flutter v1.16 构建的。

  1. 如何升级此应用程序以使用最新的 Flutter 版本?运行“flutter doctor”给了我[√] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.19041.630], locale en-US),所以我的SDK已经更新到最新版本了。

  2. 有趣的是,当我从头开始创建一个新应用程序时,pubspec.lock没有任何关于 Flutter 版本的信息。同一部分现在仅包含以下内容:sdks: dart: ">=2.10.0-110 <2.11.0"。将来我怎么知道这个应用程序运行的是哪个版本?

我尝试在我的应用程序中运行“flutter Upgrade”,但那是升级 SDK,而不是应用程序的 Flutter 版本。那么如何升级我的应用程序以使用最新的 Flutter 版本呢?或者它总是使用最新版本的 SDK 构建?我不能将我的应用程序定位为使用特定版本的 Flutter 进行构建吗?


以下步骤需要dart2.19工具或更低,因为省道 迁移工具在版本 3 中被删除:

要将项目更新为空安全,请按照下列步骤操作:

旁注:更改 flutter 版本pubsec.yaml,创建新项目并复制以下行:

sdk: ">=2.19.6 <3.0.0"

然后按照以下步骤操作:

  1. Run flutter upgrade在终端中升级Flutter
  2. Run dart migrate运行 dart 迁移工具。
  3. 解决迁移工具显示的所有错误。
  4. Run flutter pub outdated --mode=null-safety打印所有过时的包。
  5. Run flutter pub upgrade --null-safety自动升级所有软件包。
  6. 检查代码是否有错误并解决(很重要)。
  7. Run dart migrate再次,现在应该会成功。点击链接查看建议的更改。
  8. 按“应用迁移”按钮。
  9. 再次检查代码是否有错误并修复它们。

您的项目现在应该已更新。 参考自此website https://www.felixlarsen.com/blog/update-your-flutter-project-to-flutter-20.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何升级现有的 Flutter 应用? 的相关文章

随机推荐

  • 有没有适合新手的 Solr 教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Angularjs $http.get 不起作用

    我的目的是使用 AngularJS 中的 REST Web 服务 我现在正在进行一些试验 下面的代码不起作用并抛出以下异常 你能帮我找出问题所在吗 提前致谢 function getUsersFromLocal scope http htt
  • 我可以在 2.1 上编译 Android 应用程序并支持 1.5 及以上的所有版本吗?

    我希望我的 Android 应用程序具有最大的覆盖范围 因此希望支持 V1 5 及以上的所有版本 我发现 V1 5 中缺少的一些功能在 V2 0 或 V2 1 中可用 我可以在 V2 1 上编译 然后设置 minSDK 以使应用程序在 1
  • Django:如何在可重用应用程序中处理导入

    我刚刚开始使用 django 我不太清楚 我应该如何编写一个可以稍后重用的应用程序 在我阅读的每个教程中 我都会看到相同的代码 view py from project app models import MyModel 因此 如果我将应用
  • Windows服务之间如何通信

    我有 2 个使用 C 创建的 Windows 服务 我希望其中一个服务调用第二个 Windows 服务中的函数 我该怎么做呢 EDIT 问题是我必须运行该应用程序 我不需要它们 相反服务进程也很好 但我need这2个应用程序进行通信 这2个
  • 获取 $http 调用的完整调用堆栈跟踪

    假设有人在名为的文件中编写了这样的方法app js尝试对不存在的 url 执行 XHR 请求 app controller MainCtrl function scope http scope send function http get
  • 如何从 Android 中的 Fragment 调用 ArrayAdapter 构造函数

    我正在尝试将两列 ListView 添加到我的 Android 应用程序中 当我创建项目时 我选择了选项 片段 它通过向左和向右滑动来创建漂亮的导航 所以我的MainActivity延伸FragmentActivity 我的问题是 当我尝试
  • 找不到绳线(-bash:绳线:找不到命令)

    我正在尝试使用 twine 在 pypi 上发布我的第一个 python 包 当然会首先添加 test pypi 我遵循了官方指南https packaging python org tutorials packaging projects
  • Freemarker:从模板文件 (*.ftl) 调用静态 util 方法

    在 Freemarker FTL 文件中 我想调用StringUtils capatilize myString 例如 p You selected selectionString p p StringUtils capatilize se
  • 绘制圆形渐变

    我想绘制一个圆形渐变 如下图所示 我可以轻松管理径向渐变 但我不知道如何做圆形渐变 我正在考虑在一条线上绘制渐变 然后将其转换为圆形 这可能吗 这就是我绘制径向渐变的方法 CGFloat a MIN self frame size widt
  • 使用 codeigniter 403 的 Ajax 请求(禁止)

    我正在尝试使用 Ajax 向 Codeigniter 中的控制器文件发送一个值 但没有成功 我已经搜索过这个问题 现在这个问题在这里被提出了很多次 但仍然找不到解决方案 希望任何人都可以帮助我 谢谢 Js file function sub
  • 在堆栈上为 execve 创建一个 arg 数组

    我想编写一个汇编程序 通过 EXECVE 系统调用 0x3C 使用开关 al 执行程序 bin ls 手册页 man 2 execve 指出该调用需要三个值 int execve const char filename char const
  • 通过 http 拉取大型存储库(大小超过 1GB)失败

    存储库的大小超过 1GB 当我拉到 50 时 出现错误 gt remote Counting objects 23891 done remote Compressing objects gt 100 19980 19980 done fat
  • 如何仅在 log4j 中记录警告

    在 Struts 2 应用程序中 我们使用 log4j 进行日志记录 我只想记录警告 但是当我尝试在 log4j properties 中使用时 log4j rootLogger warn stdout 它也打印错误和致命日志 我只想要警告
  • 如何在 Visual Basic .NET 中从 Internet“读取”XML?

    因此 我正在 Visual Basic 2010 中创建一个程序 它将处理来自 Internet 的大约 120 万个 XML 文件 每个文件的 URL 格式如下 website com xmlfeed action number VARI
  • 从 Android Wear 上的日历获取数据

    我正在查询这样的日历数据 Constructor of the class mCursor context getContentResolver query CalendarContract Events CONTENT URI mColu
  • Axios 未传递 Content-Type 标头

    我在后端运行一个 Odoo 实例 并创建了一个公开 Web 控制器的自定义模块 如下所示 网页控制器 coding utf 8 from odoo import http import odoo from odoo http import
  • Linux/Unix 中是否有与 futex 等效的东西?

    我正在寻找可以用来做的东西polling like select kqueue epoll即不忙轮询 在 C C 中 换句话说 我需要阻塞一个线程 然后在另一个线程中唤醒它尽可能少的开销 A mutex condition variable
  • iOS Playground 中的 NSUserDefaults

    iOS Playgrounds 似乎有一个奇怪的问题NSUserDefaults总是返回nil而不是实际值 在 iOS Playground 中 最后一行错误地返回nil import UIKit let defaults NSUserDe
  • 如何升级现有的 Flutter 应用?

    我有一个半年前构建的现有 Flutter 应用程序 我查了一下pubspec lock 它有这一行 sdks dart gt 2 10 0 110 lt 2 11 0 flutter gt 1 16 0 lt 2 0 0 所以我假设该应用程