Flutter2.x升级3.x版本遇到的问题及解决方案

news2024/11/24 9:49:10

项目原本使用的Flutter版本为2.5.3,现在要升级到3.0.5版本,结果升级完后项目直接编译不通过,报了一堆的错误,如果你也是这种情况,可以按我接下来讲的操作试一试,反正我就是这么解决问题的。

目录

1、升级Gradle版本

 2、升级Kotlin版本

 3、升级Room版本


1、升级Gradle版本


首先查看项目的Gradle版本是不是大于7.4,如果不是,请使用大于这个版本的Gradle,并且将Gradle插件的版本升级到7.1.2以上。

因为在Flutter官网的Flutter3更新详解中提到

1.1、添加 allowInsecureProtocol属性

Gradle升完级,如果你的项目中有用到第三方仓库地址的,那么需要将Http类型的仓库的Url地址改为Https,否则会报下面的错误,不知道从哪个版本开始,Gradle不支持Http协议的仓库地址。

如果仓库地址改不了Https的可以使用 allowInsecureProtocol 属性 

maven {
            allowInsecureProtocol true
            url 'http://172.17.0.172:8081/repository/maven-releases/' }

2、升级Kotlin版本


如果你的项目使用了Kotlin,那么Kotlin的Gradle插件版本也需要一并升级,升级版本需要对应你的Gradle版本,下面的图是Kotlin官网对于Kotlin Gradle插件版本的要求。

最简单的是直接升级到最新版本,当然你也可以看编译报错信息里提示需要的版本,比如我的报错信息提示需要1.7.10的版本,我就升到了1.7.10,因为项目没有用到Kotlin Gradle插件的最新API,所以1.7.10就够用了,不需要最新的完全支持版本。

我不升级到最新版还有一个重要的原因,那就是我将Kotlin Gradle插件升级到1.8.0时发现,kotlin-android-extensions这个插件没了,不再支持了!之前还只是警告这个插件已经被废弃,这下直接干没了。

 点我查看官网说明

我最爱的Kotlin功能就这么没了!!!我需要将以前所有用到kotlin-android-extensions插件的页面都替换成view-binding的方式实现。。。太狗了

郭霖老师对于kotlin-android-extensions插件被废弃这事也深感愤恨,甚至专门写了一篇文章😂

kotlin-android-extensions插件也被废弃了?扶我起来 - 掘金

 3、升级Room版本


如果你的项目使用到了Room数据,并且你的Kotlin版本在1.7以上,那么恭喜你,这个Room大概也得升级。。。

先检查一下你的Room版本,看看是不是低于2.4.3,如果低于这个版本,那么请将Room升级到这个版本或者更高,因为低于2.4.3版本的Room无法识别Kotlin1.7中的挂起函数,根本编译不过去(删除suspend关键字的不算)。

Room官网地址:

https://developer.android.com/jetpack/androidx/releases/room?hl=zh-cn#version_243_3


ok,修改到此,应该是没啥大问题了,如果你的项目还是编译不过去或者运行不起来,大概还是配置的问题,看看是不是还有其他第三方库或者插件要升级的,如果有遇到什么其他坑的,欢迎评论区留言,让更多人避避坑~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

连锁管理系统有哪些功能?如何选择实用的连锁管理系统?

传统门店管理系统有很多弊端,各种销售数据不能实时同步、沟通效率低、分店管理困难,库存混乱...... 一套合适的连锁管理系统,能够有效解决多门店之间的管理沟通难题,总店可以随时随地使用手机掌控分店各种事项,多门店之…

云原生之深入解析Airbnb的动态Kubernetes集群扩缩容

一、前言 Airbnb 基础设施的一个重要作用是保证我们的云能够根据需求上升或下降进行自动扩缩容,我们每天的流量波动都非常大,需要依靠动态扩缩容来保证服务的正常运行。为了支持扩缩容,Airbnb 使用了 Kubernetes 编排系统,并且使…

三分钟上线你自己的Midjourney

文章尾部有demo 江湖惯例:先来一波感谢,感谢laf,让我们可以不使用魔法、免费接入Midjourney,不了解laf的请猛戳 Laf介绍 背景 laf官方最近发布了一个活动,活动链接,新手也可以接入哦!废话不多…

优维低代码实践:页面编排优化与数据联调

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…

NEEPU Sec 2023公开赛Reverse题目复现

文章目录 一.Base二.How to use python1.程序逻辑分析2.爆破flag[11]~flag[14]3.爆破sha14.sha256掩码爆破 三.IKUN检查器1.查看程序信息2.分析程序逻辑3.button1_conClick函数4.check1函数5.check2函数6.check3函数7.check4函数8.check5函数 四.junk code1.使用32位动态调试工…

[Nginx 发布项目] 打包后的项目,使用nginx发布

前提 :使用的 mars3d 沐瑶大佬 修改后的nginx , - 下载地址 使用的是 Mars3D三维可视化平台 | 火星科技 修改后的 nginx 发布的服务,确保nginx发布服务时正常 ; 如果不是,那这里应该没有你想要的答案; 1、直接替换…

006 - RCC时钟树(一)时钟树内容

006 - RCC时钟树(一)时钟树内容 本节内容一定要结合RCC时钟树和官方手册学习,如果看不明白的话,建议看一下野火官方的教程,火哥讲这节讲的很详细,看一遍基本就能理解了。 上节内容中分析了启动代码&#…

Web缓存服务——Squid代理服务器应用

正向代理:代替客户端向服务端发送请求。 反向代理:代理服务端,将请求转发给多个服务端。 一、Squid代理服务器介绍 Squid 主要提供缓存加速、应用层过滤控制的功能。 1.1 代理的工作机制(缓存网页对象,减少重复请求…

2023年,Facebook Messenger群发这样做

使用SaleSmartly的企业都知道,SaleSmartly(ss客服)能在 Facebook Messenger群发信息!Facebook Messenger在全球最受欢迎通信软件中排名第三,紧追头两位的 WhatsApp和微信。善用 Facebook Messenger群发工具&#xff0c…

华为OD机试真题 Java 实现【区块链文件转储系统】【2023Q2 200分】

一、题目描述 区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2…Fn。 随着时间的推移,所占存储会越来越大。 云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链…

为什么都在学python?

自然是因为Python简单易学且应用领域广! Python近段时间一直涨势迅猛,在各大编程排行榜中崭露头角,得益于它多功能性和简单易上手的特性,让它可以在很多不同的工作中发挥重大作用。 正因如此,目前几乎所有大中型互联…

毕业三年月薪才21K,真是没出息......

“害,毕业三年月薪才拿21k,真失败,真的给同龄人拖后腿!”这是人能讲出来的话?这就是凡尔赛天花板?这就是我公司的测试部门的人说出来的话,他计算机专业毕业三年,包括实习,在我们公司…

LeetCode:28. 找出字符串中第一个匹配项的下标

28. 找出字符串中第一个匹配项的下标 1)题目2)代码1.方法一:每个字符进行匹配2.方法二:截取字符串进行匹配 3)结果1.方法一结果2.方法二结果 1)题目 给你两个字符串 haystack 和 needle ,请你在…

Dropwizard 开发环境搭建

Dropwizard是一个Java框架,其目标是提供高性能、高可靠的Web 应用程序的实现。 一、使用Maven原型创建项目 1、新建项目->选择Maven Archetype 填写好项目名称、路径、选择JDK版本,这里使用JDK11及以上的版本,如下图所示: 2…

自监督对比学习系列论文(一):无引导对比学习--MOCO,SimCLR

自监督对比学习 对比学习(self-supervised learning)的应用场景是用无标记或者少标记的数据进行模型的预训练以得到一个较好的预训练模型,然后便可将该模型轻松的迁移到到下游任务上。显而易见的,对比学习的难点在于我们如何在没有…

【论文下饭】PatchTST中的channel-independence

PatchTST中的channel-independence 总结PatchingChannel-independence A Time Series is Worth 64 Words: Long-term Forecasting with Transformers 时间:2022 引用:8 ICLR 2023 代码:https://github.com/yuqinie98/PatchTST 中文参考&#…

软件开发人技能变现方案来啦~

java单体服务Uniapp客户端 欢迎大家来关注java单体服务Uniapp客户端模式开发应用程序这个模式下产品的特点互联网大厂产品特点小服务小产品-存在价值普通人慢慢挣小钱 欢迎大家来关注 你好! 这可能是你第一次来“莹未来”这里,郑重欢迎您。如果你想学习…

firewalld防火墙详细介绍

目录 一、firewalld概述 二、firewalld与iptables的区别 1.位置不同 2.配置存储位置不同 3.规则运行不同 4.防火墙类型不同 三、firewalld区域的概念 四、firewalld防火墙9个区域 1、trusted(信任区域) 2、public(公共区域&#xf…

JavaScript中的tab栏切换制作(排他思想)

文章目录 实现效果图排他思想tab栏切换制作思路代码部分 实现效果图 整个页面分为2个部分,tab_list部分(上半部分)和tab_con部分(下半部分) tab_list部分包含5个li,它们分别与tab_con部分的5个div盒子一一…

Eyeshot Fem 2023.1 你选Fem还是Ultimate Crack

Eyeshot Fem--当然选Fem Everything in Ultimate, plus Geometry meshing and Finite Element Analysis. Scope Modules Image Gallery Features Scope Eyeshot Fem edition is designed for Geometry meshing and Finite Element Analysis. Modules Geometric modules includ…