Kotlin-Fehler: Module was compiled with incompatible version – Lösung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

„Das Modul wurde mit einer inkompatiblen Kotlin-Version kompiliert“ – wie ich diesen Fehler besiegt habe und Sie es auch können

\n\n

Haben Sie sich jemals wie Sherlock Holmes gefühlt, als Sie versuchten, eine rätselhafte Compiler-Meldung zu verstehen? Wenn Sie mit Kotlin arbeiten, sind Sie diesem Frankenstein-Monster sicherlich schon begegnet: „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“. Tausende Entwickler auf Stack Overflow haben sich über diesen Fehler den Kopf zerbrochen. Und ich auch.

\n\n

Stellen Sie sich vor: Sie haben Abhängigkeiten aktualisiert, auf „Ausführen“ geklickt und … peng! Ihr Projekt weigert sich zu bauen, und in der Konsole prangt diese Meldung. Kommt Ihnen bekannt vor? Lassen Sie uns herausfinden, warum das passiert und wie Sie Ihren Code zum Laufen bringen.

\n\n

Warum der Fehler auftritt: Eine kurze Einführung

\n\n

Kotlin ist eine Sprache, die sich aktiv weiterentwickelt. Jede neue Version bringt Verbesserungen, aber auch Kompatibilitätsprobleme. Der Kern des Fehlers ist einfach: Sie verwenden eine Bibliothek (ein Modul), die mit einer bestimmten Kotlin-Version kompiliert wurde (in unserem Fall 1.5.1), während Ihr Projekt eine andere erwartet (1.1.15). Das ist, als ob Sie versuchen würden, eine SIM-Karte vom iPhone 14 in ein Nokia 3310 einzulegen – es passt physisch nicht.

\n\n

Der Fehler incompatible version of Kotlin tritt typischerweise in Projekten auf, in denen:

\n
    \n
  • Android Studio oder IntelliJ IDEA verwendet wird
  • \n
  • Die Abhängigkeitsverwaltung über Gradle erfolgt
  • \n
  • Externe Bibliotheken oder Module eingebunden sind
  • \n
  • Die Versionen des Kotlin-Plugins und der Kotlin stdlib nicht übereinstimmen
  • \n
\n\n

Betrachten wir drei der effektivsten Methoden zur Lösung des Problems. Wir gehen vom Einfachsten zum Zuverlässigsten vor.

\n\n

Methode Nr. 1: Kotlin-Versionen synchronisieren (das Naheliegendste)

\n\n

Das Erste, was Sie tun sollten, ist zu überprüfen, ob alle Komponenten Ihres Projekts dieselbe Kotlin-Version verwenden. Es ist wie das Stimmen eines Orchesters: Alle Instrumente müssen in derselben Tonart spielen.

\n\n

Schritt 1: Überprüfen Sie die Version des Kotlin-Plugins

\n

Öffnen Sie die Datei build.gradle (auf Projektebene) und suchen Sie den Abschnitt buildscript. Stellen Sie sicher, dass die Plugin-Version Ihren Erwartungen entspricht:

\n\n
// build.gradle (Projektebene)\nbuildscript {\n    ext.kotlin_version = '1.5.1' // oder Ihre Version\n    repositories {\n        google()\n        mavenCentral()\n    }\n    dependencies {\n        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n        // andere Abhängigkeiten\n    }\n}
\n\n

Schritt 2: Überprüfen Sie die Version im App-Modul

\n

Schauen Sie nun in die build.gradle Ihres Moduls (normalerweise app). Auch dort sollte die Kotlin-Version angegeben sein:

\n\n
// build.gradle (Modul: app)\napply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\n\nandroid {\n    // ... Android-Konfiguration\n}\n\ndependencies {\n    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"\n    // andere Abhängigkeiten\n}
\n\n

Schritt 3: Gradle synchronisieren

\n

Nachdem Sie die Versionen geändert haben, klicken Sie unbedingt auf Jetzt synchronisieren in Android Studio. Dadurch werden alle Abhängigkeiten aktualisiert. Wenn der Fehler durch eine einfache Desynchronisation verursacht wurde, wird er verschwinden.

\n\n
\n

💡 Profi-Tipp: Wenn Sie die Variable $kotlin_version in beiden Dateien verwenden, reicht es aus, sie nur an einer Stelle zu ändern. Dies verringert das Fehlerrisiko.

\n
\n\n

Methode Nr. 2: Cache leeren und Projekt neu erstellen

\n\n

Manchmal speichert Gradle alte Versionen von Bibliotheken zwischen. Selbst wenn Sie alles in der Konfiguration korrigiert haben, kann es hartnäckig die alte Version ziehen. Das ist wie ein alter Browser-Cache – er muss geleert werden.

\n\n

Schritt 1: Caches ungültig machen

\n

In Android Studio oder IntelliJ IDEA:

\n