Flutter und Android Studio Ladybug
Kompatibilitätsprobleme mit Flutter und Android Studio Version 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.