17

J'ai un problème après la mise à jour vers Android Studo 2.3 Canary aujourd'hui.Gradle 2.3.0-alpha1 ne fonctionne pas de liaison de données

La construction terminée sans erreur, mais quand je lance l'application, la console gradle continue d'afficher:

android.databinding.annotationprocessor.ProcessDataBinding pas trouvé

Voici mon build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle 2.3.0-alpha1' 
     classpath 'com.google.gms:google-services:3.0.0' 
     classpath 'com.android.databinding:dataBinder:1.0-rc1' 
     classpath 'me.tatarka:gradle-retrolambda:3.3.1' 
     classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

Merci!

--- Mis à jour --- Je luttais depuis quelques jours et j'ai trouvé d'où vient le problème. J'utilise les colis, Retrolamdas dans mon application, les deux bibliothèques utilisent 'apt' et c'est un problème.

build.gradle version bug (root):

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 
     classpath 'com.google.gms:google-services:3.0.0' 
     classpath 'com.android.databinding:dataBinder:1.0-rc1' 
     classpath "me.tatarka:gradle-retrolambda:3.2.3" 
     classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

** build.gradle (app) version bug **

apply plugin: 'com.android.application' 
apply plugin: 'com.neenbedankt.android-apt' 
apply plugin: 'me.tatarka.retrolambda' 
apply plugin: 'android-apt' 

... 

dependencies { 
    compile 'org.parceler:parceler-api:1.1.5' 
    apt 'org.parceler:parceler:1.1.5' 
} 

Et ici est fixé. build.gradle (racine) version fixe:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0-alpha1' 
     classpath 'com.google.gms:google-services:3.0.0' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
     classpath 'me.tatarka:gradle-retrolambda:3.3.1' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

build.gradle (app) version fixe *

apply plugin: 'com.android.application' 
apply plugin: 'me.tatarka.retrolambda' 

compile 'org.parceler:parceler-api:1.1.5' 
annotationProcessor 'org.parceler:parceler:1.1.5' 

Conclusion. J'ai changé la version repo de retrolamdas et supprimer le plugin: 'android-apt' .J'ai trouvé des liens utiles si vous voulez regarder dans les détails.

https://github.com/johncarl81/parceler/issues/201 https://bitbucket.org/hvisser/android-apt/wiki/Migration

Hope it helps: D

+0

qu'est-ce que vous avez besoin ' dataBinder' pour? – pskink

+0

Je suis seulement les directives de liaison de données android. un problème avec dataBinder? –

+0

voir https://developer.android.com/topic/libraries/data-binding/index.html#build_environment – pskink

Répondre

-4

Temporaral solution qui a fonctionné pour moi: 1. Changer version gradle à: classpath 'com.android.tools.build:gradle:2.2.2'

  1. Désactivation de l'exécution instantanée

  2. Attendre une mise à jour te from Google :)

+0

il me coûte 2 - 3 minutes pour chaque fois que l'application :) :) il est si 'étonnant' (pleurs) –

6

Ce problème est dû au fait que nous avons déplacé la liaison de données vers la configuration annotationProcessor (plutôt que fournie). Si vous utilisez android-apt`, ils entreront en conflit, cessez de l'utiliser. Nous avons également eu un autre bug qui l'empêchait de choisir d'autres processeurs. Il est déjà fixé et sera disponible dans l'alpha suivant.

Rapport de bogue original ici: https://code.google.com/p/android/issues/detail?id=227612. Il a aussi un travail autour si vous avez vraiment besoin d'utiliser 2.3.

+0

pas fixé en alpha2, viens d'essayer – TeeTracker

+1

S'il vous plaît partager un exemple d'application dans le rapport de bogue qui reproduit votre problème. – yigit

4

J'utilisais Android-apt. Je l'ai remplacé par annotationProcessor et résoudre mon problème

J'ai enlevé

appliquer plugin: 'com.neenbedankt.android-apt'

et changé le code de la bibliothèque Dagger

compile 'com.google.dagger: poignard: 2.7'

annotationProcesseur 'com.goog le.dagger: poignard compilateur: 2.7'

fourni 'org.glassfish: javax.annotation: 10.0-b28'

+0

Avez-vous des idées sur 'androidTestApt'? après avoir enlevé le 'android-apt' j'ai une erreur sur le processus de construction :( –

0

Vous pouvez ajouter apt 'com.android.databinding:compiler:2.3.0' à Gradle dépendances