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.gradle で version = 8.3.0 以上に変更 |
2, Gradle の更新 |
gradle-wrapper.properties 内の distributionUrl を gradle-8.4-all.zip または gradle-8.4-bin.zip に変更 |
動作確認 |
flutter clean → flutter pub get → flutter 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のバージョン指定を更新
- android/settings.gradle で、「com.android.application」のバージョン定義があることを確認(新構成の場合はここ。古い構成だとandroid/build.gradleに定義されている)
- そこにあれば、定義バージョン数を変更
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