Flutter und Android Studio Ladybug

Mit der Version Android Studio Ladybug und Flutter 3.24.3 kommt es zu Fehlermeldungen beim Compilieren des Android-Ports des Flutter Projekts auf Grund des Wechsels des Java-JDKs von 17 auf 21.

flutter doctor -v
...
[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)

Die Fehlermeldungen monierten meistens das Flutter-Plugins auf Grund des JDK-Wechsels nicht übersetzt werden können:

Execution failed for task ':connectivity_plus:compileReleaseJavaWithJavac'.
> Could not resolve all files for configuration ':connectivity_plus:androidJdkImage'.

Hier findet sich eine detailierte Beschreibung wie dieses Problem behoben werden kann. Die einzelnen Schritte hier kurz zusammengefasst:

Java-Version in android/app/build.gradle von 8 auf 17 anpassen:

compileOptions {
      sourceCompatibility JavaVersion.VERSION_17
      targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17
    }

Dann die Gradle-Version android/gradle/wrapper/gradle-wrapper.properties anpassen:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip

Die Relation von der Gradle und der JDK Version kann dieser Matrix entnommen werden.

Am Schluss wird noch folgender Eintrag android/settings.gradle angepasst:

  id "com.android.application" version "8.3.1" apply false

Fehlermeldungen bezüglich des NDKs können scheinbar ignoriert werden. Diese Art von Fix wird aber wahrscheinlich nur bis zur nächsten Flutter-Version von Nöten sein.