2015-12-03 10 views
9

mi stoNon è possibile eseguire i test di strumentazione dopo ho introdotto associazione dati

Warning: library class android.databinding.DataBindingUtil depends on program class android.databinding.DataBindingComponent

ottengo questo quando si tenta di eseguire l'attività Gradle assembleItestAndroidTest dopo l'introduzione di associazione dati al mio progetto. (Ho una configurazione di compilazione separata per test di strumentazione che chiamo itest, gli altri due in fase di debug e rilascio)

Come risolvere questo?

modifica: Penso che si tratti di un bug di strumento di generazione di Android Gradle o di bug di Data Binding di Android. Ho depositato uno bug report su Google con le istruzioni complete su come riprodurre.

La chiave qui è che il tipo di build è configurato per eseguire il minification. Pertanto, qualsiasi tipo di build diverso da debug per il test della strumentazione non riuscirà finché si basa sull'associazione dati.

Questo è praticamente un ostacolo per tutte le aziende che hanno un'integrazione continua come parte integrante del loro ciclo di produzione, quindi spero che Google dia priorità a questo livello.

+1

hanno avuto un problema con la prima versione di apha degli strumenti di compilazione, prova classpath 'com.android.tools.build:gradle:2.0.0-alpha2 – stoyan

+0

Aggiornata a AS 2.0 preview 2 e a quella gradle build tool version ma non ha aiutato :-( – Nilzor

risposta

1

Prova ad aggiungere il seguente alla propria configurazione Proguard:

-dontwarn android.databinding.** 
-keep class <whatever your package name in AndroidManifest is>.databinding.** { 
    <fields>; 
    <methods>; 
} 

La prima linea si libera l'avvertimento, e la seconda dice Proguard di non pasticciare con una qualsiasi delle classi generate.

Problemi correlati