Flutter升级3.0

 

一、升级

步骤如下:

以Android Studio为例,

1、在Terminal执行命令  flutter upgrade --force

2、执行 flutter pub upgrade,如果Dart Analysis中有错误,执行不了的话,先解决问题,然后执行,此时多是一些方法或包名的更改,如果不知道的话可以百度一下,版本跨度大的话升级的内容比较多,此处需要耗费一些时间,但宗旨不变,就是一些方法或包名的更改

3、修改Android gradle,flutter3.0建议gradle在7.0+

 

他们的对应关系如下 

所以改为如下,⚠️如果有推送,华为推送的插件的版本需要到最新

 

 华为推送插件不升级到最新的话,编译的时候会出现一个问题

 In plugin 'com.huawei.agconnect' type 'com.huawei.agconnect.agcp.AGCPluginTa.......

4、升级kotlin版本,尽可能的最新,不是最新也不能太低

 5、修改compileSdkVersion为31

6、将<meta-data android:name="flutterEmbedding" android:value="2"/> 移到入口activity下

7、执行flutter  clean,然后执行flutter pub  get

8、将flutter项目的Android项目打开

 9、等待编译,

10、如果有幸编译通过,请执行运行,如果再有幸运行成功,那真的是有幸!你完成了升级!

二、问题处理

非常不幸,你来到了这里。问题比较多,各自的问题也可能不一样,问题不一样的可自行百度

1、

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

gradle7.0需要java11,这个在setiing里面改一下就行

2、然后就能继续编译了,此处要注意上图的Gradle user home要与你前面配置的一致

3、如果有幸编译通过,那你也升级完成了,没有通过的话看报错信息,报错中一般都有插件的的名字,去Dart packages中查询最新的插件版本,在flutter项目的pubspec.yaml中修改版本。

⚠️ 有些插件虽然没有更新版本,但去github中去看看,就有人提相同的问题

4、手动替换插件版本

5、重复第一步中的7,8,9,10。

6、如果编译还是有问题,看报错原因,一般都是插件问题,当然也可能是Android项目中的

implementation引入的项目版本问题,总之一般都是引入的三方版本问题,继续查找替换,重复执行第二步中的3,4,5

三、问题太多、太难,实在处理不了,回退版本。

      我没有回退,所以没有发言权,因为我升级之前就做好了决定——开弓没有回头箭!真实原因是因为我看到有人说回退了环境变量也需要重新配置,索性就硬着头皮升级了。 如果有需要回退的请自行百度一下,这里就不贴链接了

猜你喜欢

转载自blog.csdn.net/LoveShadowing/article/details/125165916