Comment faire pour utiliser la Liaison de Données et de Kotlin dans Android Studio 3.0.0
J'ai juste commencé à utiliser la version d'Android Studio 3.0.0, mais à chaque fois que j'essaie de construire 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)
Je suis en utilisant
kapt "com.android.databinding:compiler:2.2.0"
Avant j'utilisais
androidProcessor "com.android.databinding:compiler:2.2.0"
Et il fonctionnait très bien... Ce que je fais de mal??
Merci!
Semble comme un bug, créée question: youtrack.jetbrains.com/issue/KT-17936
Ce bug apparaît même sans aucune liaison de données. Il vous suffit d'utiliser 1.1.2-4 version de kotlin et appliquer plugin: 'kotlin-kapt'. Ensuite, vous obtiendrez cette erreur Erreur:Circulaire de dépendance entre les tâches suivantes: :app:compileDebugKotlin \--- :app:kaptDebugKotlin \--- :app:compileDebugKotlin () () - détails omis (cités précédemment)
Également lié à la question de: issuetracker.google.com/issues/38471980
Ce bug apparaît même sans aucune liaison de données. Il vous suffit d'utiliser 1.1.2-4 version de kotlin et appliquer plugin: 'kotlin-kapt'. Ensuite, vous obtiendrez cette erreur Erreur:Circulaire de dépendance entre les tâches suivantes: :app:compileDebugKotlin \--- :app:kaptDebugKotlin \--- :app:compileDebugKotlin () () - détails omis (cités précédemment)
Également lié à la question de: issuetracker.google.com/issues/38471980
OriginalL'auteur Leandro Borges Ferreira | 2017-05-17
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez besoin de 3 gradle entrées dans l'application .gradle au niveau du module pour ajouter des données de liaison
apply plugin: 'kotlin-kapt'
android {
...
dataBinding {
enabled = true
}
}
dependencies {
......
kapt "com.android.databinding:compiler:$compiler_version"
}
Remarqué que j'ai fait compilateur version une variable dans un projet de build gradle de sorte qu'il peut être géré à partir d'un seul endroit
par défaut est:
ext.kotlin_version = '1.1.3-2'
J'ai ajouté avec le support de la syntaxe:
Aimé l'utilisation de la variable de version
OriginalL'auteur Rubber Duck
UPD: Cela a été fixée pour Android plugin Gradle 3.0.0-alpha3, dans yout racine du projet
build.gradle
, changer labuildscript
dependencies
à utiliserC'est effectivement un bug dans le Kotlin plugin Gradle 1.1.2-4 inter-opération avec les Android plugin Gradle 3.0.0-alpha1, causé par la manière dont les entrées et les sorties des tâches sont définies (et donc la façon dont les tâches sont connectés avec le repose-sur la relation).
Grâce @VyacheslavGerasimov pour la création de la question KT-17936.
Comme une solution temporaire, vous pouvez essayer de revenir à Kotlin plugin Gradle 1.1.2-2 et désactiver la compilation incrémentielle:
Dans votre racine du projet
build.gradle
, changer la version de la Kotlin plugin Gradle:Ajouter
local.properties
à la racine du projet, avec la ligne suivante:C'est un problème connu que le Kotlin plugin Gradle 1.1.2-2 et en-dessous de collisions avec les dernières versions AGP, et la désactivation de la compilation incrémentielle semble fixer l'accident.
vous pouvez utiliser l'un d'eux, parce que Gradle détecte et interprète les
local.properties
fichier dans vos projets ainsi. Eh bien, peut-êtrelocal.properties
est plus approprié pour machine propriétés.Ce qui conduit à cette erreur: stackoverflow.com/questions/44056104/...
En fait pour revenir à 1.1.2-3 fonctionne aussi très bien. Même problème avec Android Studio 2.3.2 et gradle 2.3.2 lors de l'utilisation de Kotlin 1.1.2-4 avec kotlin-kapt plugin
basé sur issuetracker.google.com/issues/38447344 c'est un problème dans l'Android plugin, pas de kotlin plugin gradle. Un correctif a été faite et est prévu pour être publié dans le prochain 3.0.0 version alpha.
OriginalL'auteur hotkey
Pour ceux qui sont encore à la recherche d'une solution appropriée, Google a déjà résolu ce problème dans Android Studio 3.0 Canaries 3 construire.
Vendredi, Le 2 Juin 2017
De travail gradle configuration:
construire.gradle (projet)
construire.gradle (module)
Vous pouvez utiliser une ancienne version de Kotlin plugin avec des faux. De vérifier la réponse précédente par "touche de raccourci"
Non,
1.1.2-4
ne fonctionne toujours pas. On a encore à utiliser1.1.2-2
et également ajouter kapt "com.android.de liaison de données:compilateur:3.0.0-alpha3" de votre construction.gradle (module) ou vous obtiendrez référence non résolue: la liaison de données.Pas fixés sur 1.1.2-5 ainsi
OriginalL'auteur Prokash Sarkar
J'ai recenly écrire un Blog pour la Liaison de Données android avec Kotlin ici
Utilisation Classpath
Dépendance
pour plus de détails consultez cette post
OriginalL'auteur Imtiyaz Khalani