DataBinding a très bien fonctionné dans mon projet, mais après la mise à niveau d’Android Studio 2.3 aujourd’hui. Run 'app' a échoué car l'erreur suivante:
Error:(15, 40) Error: package com.javan.myrecorder.databinding not exist.
import com.javan.myrecorder.databinding.FragmentEventsBinding;
:app:compileMockDebugJavaWithJavac FAILED
Je viens de mettre à jour Android studio et je n'ai rien changé. tout le plugin est le dernier! Maintenant, ma question est la suivante: pourquoi cette erreur se produit-elle et comment puis-je la résoudre? toute aide est la bienvenue!
L'anglais n'est pas ma langue maternelle. veuillez excuser les erreurs de ma part.
EDIT1
J'aime le projet Android googlesamples/Android-architecture
git checkout todo-databinding
./gradlew assembleDebug
pour construire, la construction a échoué à cause de l'erreur suivante:journal complet de construction
EDIT2 J'ai résolu ce problème en suivant La liaison de données s'est rompue après la mise à niveau vers Gradle 2.3.
dans build.gradle(app)
add
apply plugin: 'com.Android.application'
apply plugin: 'com.neenbedankt.Android-apt'
..balabala
dependencies {
apt 'com.Android.databinding:compiler:2.3.0'
}
des fichiers dans mon projet:
gradle-wrapper.properties
#Mon Mar 06 10:59:04 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zip
@petrnohejl @ George Mount @ Sa-Zad Prasla, merci!
Android-apt
et donc utiliser apt
est obsolète depuis Android Studio 2.2.
Après le Guide de migration Android-apt , ajoutez plutôt ce qui suit à votre build.gradle
:
dependencies {
classpath 'com.Android.tools.build:gradle:2.3.0' // use same gradle version!
annotationProcessor 'com.Android.databinding:compiler:2.3.0'
}
Si vous utilisez Kolin, utilisez plutôt:
apply plugin: 'kotlin-kapt'
dependencies {
classpath 'com.Android.tools.build:gradle:2.3.0' // use same gradle version!
kapt 'com.Android.databinding:compiler:2.3.0'
}
Le problème vient dans un avertissement difficile à voir parmi toutes les erreurs:
Avertissement: Utilisation de plugins incompatibles pour le traitement des annotations: Android-apt. Cela peut entraîner un comportement inattendu.
Si vous supprimez apt, la liaison de données fonctionne.
J'ai également été confronté au même problème… Je utilisais ButterKnife and Dagger !!
Résolu comme suit
1) Supprimer du fichier de niveau d'application:
appliquer le plugin: 'Android-apt' ou appliquer le plugin: 'com.neenbedankt.Android-apt'
2) Supprimer du fichier de niveau de projet:
classpath 'com.neenbedankt.gradle.plugins: Android-apt: 1.8'
3) Et changez simplement "apt to annotationProcessorchange" comme dépendances suivantes:
apt 'com.jakewharton: butterknife-compiler: 8.5.1', apt "com.google.dagger: dagger-compiler: 2.5"
À:
annotationProcessor 'com.jakewharton: butterknife-compiler: 8.5.1', annotationProcessor "com.google.dagger: compilateur de dagues: 2.5"
La liaison de données a également été rompue après la mise à jour vers Android Studio v2.3. Le plugin GoLang Bind est devenu incapable de générer des fichiers de bibliothèque .aar
Notre problème a été résolu via une combinaison de la mise à jour de la version "+ eb90329 du 7 mars 2017" de GoMobile et du retour du plug-in GoBind vers la version "0.2.6" (bien que la version actuelle soit "0.2.8").
Mettre à jour GoMobile:
$ go get -u -x golang.org/x/mobile/cmd/gomobile
$ gomobile init -x
Rétablir le plugin GoBind dans build.gradle:
plugins {
id "org.golang.mobile.bind" version "0.2.6"
}
Cette solution fonctionne sur les systèmes dotés des versions 1.7.1 et 1.8 de Google Go, ainsi que des versions 2.1.2, 2.2.3 et 2.3 d'Android Studio.
J'ai aussi récemment téléchargé la dernière version d'Android Studio 2.3.3, car j'avais la même erreur dans la version 2.2.3, c.-à-d. Erreur: Impossible de résoudre: com.Android.databinding: compilateur: 2.2.3, même dans la dernière version, la même erreur se produisait, j’ai vérifié la structure du projet. Dans Fichier> Structure du projet> Projet, la version du plug-in Android était toujours la version 2.2.3, je l’ai modifiée en 2.3.3 et la la construction est réussie et tout fonctionne bien.
Deux choses Revenez votre gradel-wrapper.properties distributionUrl à "https://services.gradle.org/distributions/gradle-2.14.1-all.Zip" Modifiez le chemin de classe de la version gradle en version précédente " 'com.Android.tools.build:gradle:2.2.3' "
P.S. L'exécution instantanée cessera de fonctionner sur ADT avec une version plus ancienne de Gradle.