Ich habe gerade angefangen, Android Studio 3.0.0 zu verwenden, aber jedes Mal, wenn ich versuche, mein Projekt zu erstellen, wird folgende Fehlermeldung angezeigt:
Error:Circular dependency between the following tasks:
:app:compileDebugKotlin
+--- :app:dataBindingExportBuildInfoDebug
| \--- :app:compileDebugKotlin (*)
\--- :app:kaptDebugKotlin
\--- :app:dataBindingExportBuildInfoDebug (*)
(*) - details omitted (listed previously)
ich benutze
kapt "com.android.databinding:compiler:2.2.0"
Bevor ich benutzte
androidProcessor "com.android.databinding:compiler:2.2.0"
Und es hat gut funktioniert ... Was mache ich falsch?
Vielen Dank!
android
android-studio
kotlin
android-databinding
android-studio-3.0
Leandro Borges Ferreira
quelle
quelle
Antworten:
Es scheint, dass Sie 3 Gradle-Einträge in der App .gradle auf Modulebene benötigen, um Datenbindung hinzuzufügen
apply plugin: 'kotlin-kapt'
android { ... dataBinding { enabled = true } }
dependencies { ...... kapt "com.android.databinding:compiler:$compiler_version" }
Beachten Sie, dass ich die Compiler-Version zu einer Variablen im Build-Gradle auf Projektebene gemacht habe, damit sie von einem einzigen Ort aus verwaltet werden kann
Standard war:
ext.kotlin_version = '1.1.3-2'
Ich habe mit Klammer-Syntax hinzugefügt:
quelle
UPD: Dies wurde für das Android Gradle Plugin 3.0.0-alpha3 behoben. Ändern Sie in Ihrem Projektstamm
build.gradle
dasbuildscript
dependencies
zu verwendende PluginDies ist tatsächlich ein Fehler in der Interaktion des Kotlin Gradle-Plugins 1.1.2-4 mit dem Android Gradle-Plugin 3.0.0-alpha1, der dadurch verursacht wird, wie die Ein- und Ausgänge der Aufgaben eingestellt sind (und somit wie die Aufgaben damit verbunden sind die abhängige Beziehung).
Vielen Dank an @VyacheslavGerasimov für die Erstellung des Problems KT-17936 .
Als vorübergehende Problemumgehung können Sie versuchen, zum Kotlin Gradle-Plugin 1.1.2-2 zurückzukehren und die inkrementelle Kompilierung zu deaktivieren:
build.gradle
Ändern Sie im Stammverzeichnis Ihres Projekts die Version des Kotlin Gradle-Plugins:Fügen Sie
local.properties
dem Projektstamm mit der folgenden Zeile hinzu:Es ist ein bekanntes Problem, dass das Kotlin Gradle-Plugin 1.1.2-2 und niedriger mit den neuesten AGP-Versionen abstürzt, und das Deaktivieren der inkrementellen Kompilierung scheint diesen Absturz zu beheben.
quelle
local.properties
Datei auch in Ihren Projekten erkennt und interpretiert . Na ja, ist vielleichtlocal.properties
besser geeignet für lokale Maschineneigenschaften .Für diejenigen, die noch nach einer geeigneten Lösung suchen, hat Google dieses Problem bereits in Android Studio 3.0 Canary 3 Build behoben .
Freitag, 2. Juni 2017
Arbeitsgradle-Konfiguration:
build.gradle (Projekt)
build.gradle (Modul)
quelle
1.1.2-4
funktioniert immer noch nicht. Man muss1.1.2-2
noch kapt "com.android.databinding: compiler: 3.0.0-alpha3" zu Ihrem build.gradle (Modul) verwenden und hinzufügen, sonst erhalten Sie eine ungelöste Referenz: Datenbindung.Ich habe vor kurzem Blog für Datenbindung Android mit Kotlin hier geschrieben
Verwenden Sie Classpath
Abhängigkeit
Weitere Informationen finden Sie in diesem Beitrag
quelle