💪

flutterのバージョンアップ(v3.29.3 -> v3.32.2)

に公開

(fmv利用)Flutterのアップグレード

  • stableチャンネル利用中で、利用中のstableのFluttterバージョンを上げる対応

  • upgradeコマンド実施

fvm flutter upgrade
  • 完了後の、flutter doctor
Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.32.2, on macOS 15.4 24E248 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.3)
[✓] VS Code (version 1.99.2)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

iOS 動作確認

→ ライブラリ更新して、ビルド問題なし

Android 動作確認

→ ライブラリ更新して、ビルド問題だが、警告が発生(Deprecated系)

⚠️警告ログ

Running Gradle task 'assembleDebug'...
Warning: Flutter support for your project's Android Gradle Plugin version (Android Gradle Plugin version 8.2.1) will soon be dropped. Please upgrade your Android Gradle Plugin version to a version of at least Android Gradle Plugin version 8.3.0 soon.
Alternatively, use the flag "--android-skip-build-dependency-validation" to bypass this check.

Potential fix: Your project's AGP version is typically defined in the plugins block of the settings.gradle file (/Users/hoge/android/settings.gradle), by a plugin with the id of com.android.application.
If you don't see a plugins block, your project was likely created with an older template version. In this case it is most likely defined in the top-level build.gradle file (/Users/hoge/android/build.gradle) by the following line in the dependencies block of the buildscript: "classpath 'com.android.tools.build:gradle:<version>'".

警告の対応(Androidの)

対応内容

作業 内容
1, AGP の更新 android/settings.gradle または app/build.gradleversion = 8.3.0 以上に変更
2, Gradle の更新 gradle-wrapper.properties 内の distributionUrlgradle-8.4-all.zip または gradle-8.4-bin.zip に変更
動作確認 flutter cleanflutter pub getflutter build(または fvm flutter build)で動作確認

1, AGP の更新

⚠️1, Warning: Flutter support for your project's Android Gradle ...

Flutter の将来のリリースで Android Gradle Plugin (AGP) 8.2.1 のサポートが打ち切られる予定である のでバージョン上げて対応してね。

AGPのバージョン指定を更新

  1. android/settings.gradle で、「com.android.application」のバージョン定義があることを確認(新構成の場合はここ。古い構成だとandroid/build.gradleに定義されている)
  2. そこにあれば、定義バージョン数を変更

android/settings.gradle

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
    plugins {
        id("com.android.application") version "8.2.1" // ← これを 8.3.0 に変更         id "org.jetbrains.kotlin.android" version "2.1.20"
    }
}

2, Gradle の更新

⚠️2, Potential fix: Your project's AGP version is ...

AGP 8.3.0 に対応する Gradle は 8.4 以上 が必要

gradleのバージョン指定を更新

// android/gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip // ← これを 8.4 に変更 

備考1

2つ目の対応は最初からされていた(「gradle-8.4-all.zip」)が、1つ目の対応したら、2つ目の警告も消えたので、OK。

備考2

iOSで、Flutter3.22 以降で、これが自動で追記される。気にせずコミットでOK.

  • Runner.xcschemeに追加される
  customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"

customLLDBInitFile は、Flutter が Xcode の LLDB デバッガに Flutter 向けの設定を読み込ませるための指定です。
自動追加されるもので、基本的に 削除・編集は不要です。Flutter のネイティブデバッグがしやすくなるため、有益な設定です。

Discussion