17

Mam problem po aktualizacji do systemu Android Studo 2.3 Canary dziś.Gradle 2.3.0-alpha1 nie działa powiązanie danych

Build zakończone bez błędu, ale kiedy uruchomić aplikację, konsola Gradle utrzymuje pokazując:

nie android.databinding.annotationprocessor.ProcessDataBinding znaleźć

Oto mój 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 
} 

Dzięki!

--- Zaktualizowany --- Walczyłem przez kilka dni i odkryłem, skąd bierze się problem. Używam paczek, Retrolamdas w mojej aplikacji, obie biblioteki używają "apt" i to jest problem.

build.gradle (root) wersja bug:

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 
} 

** wersja build.gradle (app) 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' 
} 

I tu jest stała. build.gradle (korzenia) zamocowany wersja:

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) w wersji stałej *

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' 

Wnioski. Zmieniłem wersję repozytorium retrolamów i usunąłem wtyczkę: "android-apt" . Znaleziono kilka przydatnych linków, jeśli chcesz zajrzeć do szczegółów.

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

Nadzieja to pomaga: D

+0

co trzeba ' dataBinder' for? – pskink

+0

Podążam za wytycznymi dotyczącymi powiązania danych Androida. każdy problem z DataBinder? –

+0

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

Odpowiedz

-4

Temporaral fix, który pracował dla mnie: 1. Zmiana wersji Gradle do: classpath 'com.android.tools.build:gradle:2.2.2'

  1. Wyłącz natychmiastowy przebieg

  2. Czekaj na updę te od Google :)

+0

kosztuje mnie 2 - 3 minuty za każdym razem, gdy uruchomiona jest aplikacja :)) jest tak "niesamowity" (płacz) –

6

Ten problem jest wywoływany, ponieważ przenieśliśmy powiązanie danych do konfiguracji adnotacjiProcessor (a nie podano). Jeśli korzystasz z Androida-apt`, będą one w konflikcie, przestań z niego korzystać. Mieliśmy również inny błąd, który uniemożliwił mu wybieranie innych procesorów. Jest już naprawiony i będzie dostępny w następnym alpha.

Oryginalny raport o błędzie tutaj: https://code.google.com/p/android/issues/detail?id=227612. Ma również pracę, jeśli naprawdę potrzebujesz 2.3.

+0

nie został naprawiony w alpha2, Właśnie próbowałem – TeeTracker

+1

Proszę udostępnić przykładową aplikację w raporcie błędu, który odtwarza twój problem. – yigit

4

Użyłem Androida-apt. Wymieniłem z annotationProcessor i rozwiązać mój problem

usunąłem

zastosowanie wtyczki: 'com.neenbedankt.android-apt'

i zmienił Dagger kod biblioteki

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

adnotacjaProcesor "com.goog le.dagger: sztylet kompilator: 2.7'

dostarczane 'org.glassfish: javax.annotation: 10,0-B28'

+0

Czy masz jakieś pomysły na temat 'androidTestApt'? po usunięciu 'android-apt' mam błąd w procesie kompilacji :( –

0

można spróbować dodać apt 'com.android.databinding:compiler:2.3.0' do Gradle Zależności