2015-12-03 15 views
9

Datenbindung eingeführt IchKann nicht Instrumentierung Tests durchführen, nachdem ich

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

bekomme ich diese erhalten, wenn versucht wird, die gradle Aufgabe assembleItestAndroidTest nach der Einführung der Datenbindung an mein Projekt auszuführen. (Ich habe eine separate Build-Konfiguration für die Instrumentierung testen, die ich itest, die anderen beiden zu debuggen und freizugeben)

Wie Sie das beheben?

bearbeiten: Ich denke, das ist ein Android-Gradle Build Tool Bug oder Android Data Binding Bug. Ich habe einen Google-Code mit der vollständigen Anleitung zur Reproduktion bei Google eingereicht: bug report.

Der Schlüssel hier ist, dass der Build-Typ konfiguriert ist, Minification auszuführen. Daher wird jeder Build-Typ außer debug für den Instrumentierungstest fehlschlagen, solange Sie sich auf die Datenbindung verlassen.

Dies ist ein echter Hingucker für jedes Unternehmen, das kontinuierliche Integration als integralen Bestandteil seines Produktionszyklus hat, also hoffe ich, dass Google dieses hohe Niveau priorisiert.

+1

hatten sie ein Problem mit der ersten Apha-Freigabe der Build-Tools, versuchen Sie Classpath 'com.android.tools.build:gradle:2.0.0-alpha2 – stoyan

+0

Upgrade auf AS 2.0 Vorschau 2 und zu diesem Gradle Build Tools Version aber es hat nicht geholfen :-( – Nilzor

Antwort

1

Versuchen Hinzufügen Folgendes zu Ihrer proguard config:

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

Die erste Zeile wird von der Warnung los zu werden, und der zweite erzählt proguard nicht mit Zohan an einem der generierten Klassen.

Verwandte Themen