Flutter und Android Studio Ladybug

Kompatibilitätsprobleme mit Flutter und Android Studio Version Ladybug

Flutter und Android Studio Ladybug
ChatGPT

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.