2022年1月下旬に、Flutterアプリを作るための開発ツールである「Android Studio」がバージョン「Bumblebee」に、
また、2022年2月上旬には、FlutterのSDKが2.10にアップデートされましたが、
現時点(2022/2/6)では、アップデート適用時にいくつか留意すべき点がありますので注意が必要です(過去記事とかぶる内容もありますがご了承願います)。
(要点)Android Studioはバージョン「Bumblebee」の「Patch 1」以降を、FlutterのAndroid Studio向けプラグインはバージョン64.0以降にアップデートしてください。
もくじ
Android Studio「Bumblebee」は「Patch1」以降を使ってください(iOSでビルドできない問題が解消されています)
「Patch1」以前では、Android Studioの再生ボタンあるいはゲジゲジボタンを押してiOSアプリとしてビルドしようとすると、エラーが発生していましたが、
2022/2/6未明(日本時間)にリリースされた「Patch1」ではこの問題が解消していますので、「Patch1」以降をお使いください。
(Android Studio「Bumblebee(Patch 1)」へのアップデート方法は以下をご参照下さい。アップデートではなくて再インストールが必要です)
FlutterのAndroid Studio向けプラグインのバージョンを「M64」以降にしてください(Device Managerが開けない問題が解消されています)
Android Studio「Bumblebee」以降は、これまでの「AVD Manager(Android Virtual Device Manager)」が「Device Manager」に変更となりましたが、
プロジェクトを開いている状態で「Device Manager」ボタンを選択しても反応がない不具合が生じることが有りましたが、この問題がFlutterのAndroid Studio向けプラグインを「M64」にアップデートすると解消します。
ただし、アップデート以前の状態で作ったプロジェクトについては、この問題は残り続けるので、その場合は、以下の要領で「File => Project Structure」から「Android」モジュール(Module)を追加すると解消します。
(プラグインのアップデート方法等の詳細は、以下記事内の動画をご参照下さい)
プロジェクト作成時にデフォルトが「Android」タグになっている場合があるので「Project」にしてください
Android Studio「Bumblebee(Patch 1)」以降は、新しいプロジェクトを作成して開いた時に、デフォルトが「Android」タグになっていることがあるので、これを以下の要領で「Project」に変更してください。
Androidアプリとしてビルドしたら「One or more plugins require a higher Android SDK version」というエラーが出る場合の対処法
Flutter2.10にアップグレード前に作成したプロジェクトを、アップグレード後にAndroidアプリとしてビルドしようとすると、それまではちゃんと動いていたにも関わらず、
One or more plugins require a higher Android SDK version. Fix this issue by adding the following to /Users/telulullc/FlutterProjects/00minpro/01Basic/straight_machine_just_audio01/android/app/build.gradle: android { compileSdkVersion 31 ... } FAILURE: Build failed with an exception.
というビルドエラーが出て失敗する場合があります。
この場合は、以下の要領で「compileSdkVersion」の修正を行ってください。
Androidアプリとしてビルドしたら「Your project requires a newer version of the Kotlin Gradle plugin」というエラーが出る場合の対処法
また、アップグレード前に作成したプロジェクトを、Flutterのアップグレード後にAndroidアプリとしてビルドしようとすると、それまではちゃんと動いていたにも関わらず、こんな長いやつが延々と続いて、、、
e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors e: /Users/telulullc/.gradle/caches/transforms-2/files-2.1/0a08c26280872472b6ff40eba9f549b5/jetified-kotlin-stdlib-common-1.5.31.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
最後の最後に
┌─ Flutter Fix ────────────────────────────────────────────────────────────────────────────────┐ │ [!] Your project requires a newer version of the Kotlin Gradle plugin. │ │ Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, then │ │ update │ │ /Users/telulullc/FlutterProjects/00minpro/insta_clone_z_geolocator_8.0/android/build.gradle: │ │ ext.kotlin_version = '<latest-version>' │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ Exception: Gradle task assembleDebug failed with exit code 1と
という文言で終わるビルドエラーが発生する場合があります。
この場合は、以下の要領でKotlinのプラグインのバージョンを修正してください。
ビルドしたら「Your Flutter application is created using an older version of the Android embedding.」というエラーが出る場合の対処法
さらに、アップグレード前に作成したプロジェクトを、Flutterのアップグレード後にビルドしようとすると(AndroidでもiOSでも)、それまではちゃんと動いていたにも関わらず、
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Warning ────────────────────────────────────────────────────────────────────────────── Your Flutter application is created using an older version of the Android embedding. It is being deprecated in favor of Android embedding v2. Follow the steps at https://flutter.dev/go/android-project-migration to migrate your project. You may also pass the --ignore-deprecation flag to ignore this check and continue with the deprecated v1 embedding. However, the v1 Android embedding will be removed in future versions of Flutter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ The detected reason was: /Users/telulullc/FlutterProjects/000AppReleased/meiso/android/app/src/main/AndroidManifest.xml uses `android:name="io.flutter.app.FutterApplication"` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This app is using a deprecated version of the Android embedding.
というビルドエラーが出て失敗する場合があります。
(注)正確には「エラー」ではなく「ウォーニング(警告)」ですが、ビルドに失敗してしまいますのであえて「エラー」と称しています。
この場合は、以下の要領でAndroidのマニフェストファイルを修正してください。