flutter开发将项目从flutter版本3.19.6升级到3.24.3过程遇到问题记录Type 'UnmodifiableUint8ListView' not found

1. android studio修改当个项目的flutter版本,不影响其他项目工程的flutter编译版本

1.1 项目右上角点击‘设置’图标,选择Settings...进去到项目的设置页面,选择flutter sdk路径

1.2 项目右上角点击‘设置’图标,选择Settings...进去到项目的设置页面,选择dart sdk路径

2. 点开打开项目根目录下的pubspec.yaml文件

2.1 右上角会出现Pub get按钮,点击同步更新依赖

  • 也可以通过cmd命令行执行:来到项目根目录下,执行flutter pub get

2.2 可能出现依赖冲突,这里提供两个解决方法

  • 方法1:依赖库版本冲突,可以先给该依赖库版本指定为any,比如url_launcher: any,然后执行pub get看看实际下载的是哪个版本的url_launcher,然后再将any改为具体的版本。
  • 方法2:如果方法使用了还是出现依赖冲突编译失败,可以使用dependency_overrides关键字,强制依赖某个具体的版本,比如:
      dependency_overrides:
        url_launcher: ^6.3.0  #多个版本冲突时,具体使用哪个版本,主要看哪个版本能编译通过,然后看主模块使用哪个版本,然后看哪个版本是重要的,如果没啥区别就使用高版本的吧,毕竟在做升级工作
    
  • 方法3:那就是如果能拿到源代码的话,就把源代码拿下来修改了,把在线依赖改为使用本地依赖了,不过这个一般没必要这样,后续升级维护工作量变多了

2.3 如果依赖库的依赖出现冲突怎么办?项目里面都搜索不出哪里使用了,这个时候就得想方法整理出依赖库之间的依赖关系了

  • 解决方法:cmd来到项目的根目录下执行flutter pub deps,比如命令,将在项目根目录下生成deps.txt文件,依赖关系树状形式显示出来,哪个库依赖了哪个一目了然

3. 其他问题记录

3.1 问题1:Error during compilation of a Flutter app for Windows: Type 'UnmodifiableUint8ListView' not found

  • 解决方法:执行flutter pub upgrade --major-versions

3.2 问题2:编译构建成功了,运行的时候报错,看着是缓存的原因,部分代码索引不到,点击跳转不过去或者跳转到之前旧的依赖库里面

  • 解决方法:清除缓存,重新下载依赖库,先执行flutter pub cache clean,然后执行flutter pub get
posted @   yongfengnice  阅读(697)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2020-09-19 android开发cmake编译引入第三方库的常用写法
2020-09-19 JNI编程JNIEXPORT关键字的解释说明
2019-09-19 Android开发长按某个控件将PopupWindow显示在手指长按的位置处的实现方法
点击右上角即可分享
微信分享提示