Je viens de commencer à utiliser Android Studio 3.0.0, mais chaque fois que j'essaie de créer mon projet, j'obtiens cette erreur:
Error:Circular dependency between the following tasks:
:app:compileDebugKotlin
+--- :app:dataBindingExportBuildInfoDebug
| \--- :app:compileDebugKotlin (*)
\--- :app:kaptDebugKotlin
\--- :app:dataBindingExportBuildInfoDebug (*)
(*) - details omitted (listed previously)
j'utilise
kapt "com.android.databinding:compiler:2.2.0"
Avant que j'utilise
androidProcessor "com.android.databinding:compiler:2.2.0"
Et ça fonctionnait très bien ... Qu'est-ce que je fais mal ??
Merci!
android
android-studio
kotlin
android-databinding
android-studio-3.0
Leandro Borges Ferreira
la source
la source
Réponses:
Il semble que vous ayez besoin de 3 entrées Gradle dans l'application .gradle au niveau du module pour ajouter une liaison de données
apply plugin: 'kotlin-kapt'
android { ... dataBinding { enabled = true } }
dependencies { ...... kapt "com.android.databinding:compiler:$compiler_version" }
Notez que j'ai fait de la version du compilateur une variable dans le gradle de construction au niveau du projet afin qu'elle puisse être gérée à partir d'un seul endroit
la valeur par défaut était:
ext.kotlin_version = '1.1.3-2'
J'ai ajouté avec la syntaxe des crochets:
la source
UPD: Cela a été corrigé pour le plugin Android Gradle 3.0.0-alpha3, dans la racine de votre projet
build.gradle
, changez lebuildscript
dependencies
pour utiliserIl s'agit en fait d'un bogue dans l'interopérabilité du plugin Kotlin Gradle 1.1.2-4 avec le plugin Android Gradle 3.0.0-alpha1, causé par la façon dont les entrées et les sorties des tâches sont définies (et donc comment les tâches sont connectées avec la relation dépendante).
Merci @VyacheslavGerasimov pour la création du numéro KT-17936 .
En guise de solution temporaire, vous pouvez essayer de revenir au plugin Kotlin Gradle 1.1.2-2 et désactiver la compilation incrémentielle:
Dans la racine de votre projet
build.gradle
, changez la version du plugin Kotlin Gradle:Ajoutez
local.properties
à la racine du projet, avec la ligne suivante:C'est un problème connu que le plugin Kotlin Gradle 1.1.2-2 et inférieur se bloque avec les dernières versions d'AGP, et la désactivation de la compilation incrémentielle semble résoudre ce crash.
la source
local.properties
fichier dans vos projets. Eh bien,local.properties
est peut - être plus adapté aux propriétés des machines locales .Pour ceux qui recherchent toujours une solution appropriée, Google a déjà résolu ce problème dans la version Android Studio 3.0 Canary 3 .
Vendredi 2 juin 2017
Configuration de gradle de travail:
build.gradle (projet)
build.gradle (module)
la source
1.1.2-4
ne fonctionne toujours pas. Il faut encore utiliser1.1.2-2
et ajouter kapt "com.android.databinding: compiler: 3.0.0-alpha3" à votre build.gradle (module) ou vous obtiendrez une référence non résolue: databinding.J'ai récemment écrit un blog pour la liaison de données Android avec Kotlin ici
Utiliser Classpath
Dépendance
pour plus de détails, consultez ce post
la source