flutter - 如何在不破坏我的应用程序的情况下升级 Flutter
问题描述
我有一个用 Flutter 编写的相当复杂的应用程序,它需要在离线时保存数据、照片和视频,并且可以在有互联网连接时同步。
现在我已经 6 个月没有更新这个工作应用程序了,升级到最新版本的 Flutter 以及我正在使用的所有插件是否安全?
在连接了 iPhone X 进行调试的 iMac 上运行(Android 模拟器很困难 - 在发布应用程序之前我需要一个合适的设备进行测试)
Flutter 1.2.1-pre.101
pubspec.yaml
intl: ^0.15.7
sqflite: ^0.12.2+1
image_picker: ^0.4.5
path_provider: ^0.5.0
image: ^2.0.6
date_format: ^1.0.6
http: ^0.12.0+1
map_view:
git:
url: git://github.com/Eimji/flutter_google_map_view.git
location: ^2.3.2
xml: ^3.3.1
camera: ^0.5.4+2
video_player: ^0.10.0
firebase_storage: ^2.1.0+1
我应该创建一个新的 Flutter 独立安装并升级插件吗?
解决方案
可能只有 Flutter Team 开发的插件会崩溃,因为他们添加了最新的 AndroidX 支持。您可以迁移您的项目以支持 AndroidX,但这对您来说可能是也可能不是平滑过渡。他们推荐了一些最新版本的插件,如果您不想使用最新的 AndroidX,您可以安全地使用它们。我在升级 Flutter 时遇到了map_view
插件的问题,所以我建议你先在一个隔离的环境中这样做,看看这是否有效。要了解有关 AndroidX 的更多信息,请参阅此链接,
https: //flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
对于迁移参考这个, https: //medium.com/@swhussain110/how-to-migrate-your-flutter-app-to-androidx-9a78eaaa924b
推荐阅读
- python - 在models.py中使用auth_user_model时Django request.user不工作
- python - 使用熊猫读取带分隔符的文件
- java - 收到错误“HHH000010:在批处理发布时它仍然包含 JDBC 语句”
- go - 我可以使用单行命令输出多维切片值吗?
- jinja2 - Jinja:在for循环中比较列表中的项目
- google-apps-script - “聚合数据系列”平均而不是 Google Apps 脚本中的总和?
- java - Java Elasticsearch 客户端在 ClientConfiguration 中设置HttpClientConfigCallback
- html - 滚动时在右下角的 Master asp 页面中插入徽标不起作用:重叠
- javascript - setInterval“跳闸”本身并启动第二个间隔计时器
- azure-application-insights - 过滤从客户端发送到应用程序洞察力的异常