Właśnie zacząłem korzystać z Android Studio 3.0.0, ale za każdym razem, gdy próbuję zbudować projekt, pojawia się ten błąd:
Error:Circular dependency between the following tasks:
:app:compileDebugKotlin
+--- :app:dataBindingExportBuildInfoDebug
| \--- :app:compileDebugKotlin (*)
\--- :app:kaptDebugKotlin
\--- :app:dataBindingExportBuildInfoDebug (*)
(*) - details omitted (listed previously)
ja używam
kapt "com.android.databinding:compiler:2.2.0"
Zanim użyłem
androidProcessor "com.android.databinding:compiler:2.2.0"
I działało dobrze ... Co robię źle?
Dzięki!
android
android-studio
kotlin
android-databinding
android-studio-3.0
Leandro Borges Ferreira
źródło
źródło
Odpowiedzi:
Wygląda na to, że potrzebujesz 3 wpisów gradle w aplikacji .gradle na poziomie modułu, aby dodać powiązanie danych
apply plugin: 'kotlin-kapt'
android { ... dataBinding { enabled = true } }
dependencies { ...... kapt "com.android.databinding:compiler:$compiler_version" }
Zauważ, że zrobiłem wersję kompilatora jako zmienną w gradle poziomu projektu, dzięki czemu można nią zarządzać z jednego miejsca
domyślnie:
ext.kotlin_version = '1.1.3-2'
Dodałem ze składnią nawiasów:
źródło
UPD: Zostało to naprawione dla wtyczki Android Gradle 3.0.0-alpha3, w katalogu głównym projektu yout
build.gradle
, zmieńbuildscript
dependencies
użycieW rzeczywistości jest to błąd we współpracy wtyczki Kotlin Gradle 1.1.2-4 z wtyczką Android Gradle 3.0.0-alpha1, spowodowany tym, jak ustawione są wejścia i wyjścia zadań (a tym samym jak zadania są powiązane z relacja zależna).
Dzięki @VyacheslavGerasimov za stworzenie numeru KT-17936 .
W ramach tymczasowego obejścia możesz spróbować powrócić do wtyczki Kotlin Gradle 1.1.2-2 i wyłączyć kompilację przyrostową:
W katalogu głównym projektu
build.gradle
zmień wersję wtyczki Kotlin Gradle:Dodaj
local.properties
do katalogu głównego projektu, używając następującego wiersza:Znanym problemem jest to, że wtyczka Kotlin Gradle w wersji 1.1.2-2 i starszych ulega awarii z najnowszymi wersjami AGP, a wyłączenie kompilacji przyrostowej wydaje się naprawiać tę awarię.
źródło
local.properties
plik również w twoich projektach. Cóż, możelocal.properties
jest bardziej odpowiedni dla lokalnych właściwości maszyn .Dla tych, którzy wciąż szukają odpowiedniego rozwiązania, Google naprawił już ten problem w kompilacji Android Studio 3.0 Canary 3 .
Piątek, 2 czerwca 2017 r
Konfiguracja nachylenia roboczego:
build.gradle (projekt)
build.gradle (moduł)
źródło
1.1.2-4
nadal nie działa. Nadal trzeba użyć1.1.2-2
i dodać kapt "com.android.databinding: compiler: 3.0.0-alpha3" do twojego build.gradle (moduł) albo otrzymasz Unresolved reference: databinding.Mam recenly zapisu Blog o powiązanie danych z android Kotlin tutaj
Użyj Classpath
Zależność
więcej szczegółów znajdziesz w tym poście
źródło