热搜:fiddler git ip ios 代理
历史搜索

Flutter 2.10 升级填坑指南

游客2024-11-16 07:53:01
目录文章目录
  1. Kotlin 版本
  2. Gradle 版本
  3. Android SDK 问题
  4. 本地 AAR 文件问题
  5. 强制 V2
  6. Material 图标出现异常
  7. iOS CocoaPods not installed

相信大家已经都在对 Flutter 2.10 版本跃跃欲试,本篇就目前升级用 Flutter 2.10 版本遇到的问题做一些总结提炼。

事实上按照 Flutter 每个版本的投入使用规律,应该是第三个小版本最稳,以 Flutter 目前庞大的用户量,每次正式版的发布必然带来各种奇奇怪怪的问题,一般情况下我推荐 2.10 版本等到 2.10.3 发布再投入生产会更稳妥,但是如果你等不及官方 hotfix ,那么后面的内容可能可以帮助到你。

本次如果你是从 2.8 升级的到 2.10 ,那么 dart 层需要调整几乎等于零。

Kotlin 版本

首先就项目升级的第一个,也就是最重要的一个,就是升级你的 kotlin 插件版本,这个是强制的,因为之前的旧版本使用的基本都是 1.3.x 的版本,而这些 Flutter 2.10 强制要求 1.5.31 以上的版本。

buildscript {
-    ext.kotlin_version = '1.3.50'
+    ext.kotlin_version = '1.5.31'

这里需要注意,这次升级 Kotlin 版本,会带来一些 Kotlin 包的 API 出现一些 break 的变化 ,所以如果你本身 App 使用了较多 Kotlin 开发,或者插件里使用了一些 Kotlin 的包,就需要注意升级带来的适配成本,例如:

ProducerScope 需要 override 新的 trySend 方法,但是这个方法需要 return 一个 ChannelResult , ChannelResult 是 @InternalCoroutinesApi 。

Gradle 版本

因为 Kotlin 版本升级了,所以 AGP 插件必须使用最低 4.0.0 配合 Gradle 6.1.1 的版本,也就是:

classpath 'com.android.tools.build:gradle:4.0.0'
 /
distributionUrl=https://services.gradle.org/distributions/gradle-6.1.1-all.zip

因为以前的老版本使用的 AGP 可能是 AGP 3.x 配合 Gradle 5.x 的版本,所以如果升级了 Kotlin 版本,这一步升级就必不可少。

这里顺便放一张 AGP 和 Gradle 之间的版本对应截图:

Flutter 2.10 升级填坑指南 1

作者:恋猫 de 小郭

标签:Flutter