2016-06-07 12 views
4

Ich versuche Proguard zu konfigurieren, um es mit meinem Espresso UI Testgeschmack zu verwenden. Die Sache ist, Proguard neigt dazu, meine Debugprogard-Konfiguration zu ignorieren.Verwenden von proguard mit espresso/androidTest

Dies ist, wie die Config aussieht:

buildTypes { 
    debug { 
     minifyEnabled true 
     proguardFiles 'proguard-debug.pro' 
     testProguardFile 'proguard-debug.pro' 
     signingConfig signingConfigs.release 
    } 
} 

Ich habe testProguardFile aber es scheint nicht auf androidTest zu arbeiten. Ich betreibe mockDebug Geschmacksvariante. Wenn ich die App einfach starte, funktioniert es gut, aber wenn ich versuche, einen Test auszuführen, der sich in adnroidTest befindet, wird es aufgrund von Proguard-Warnungen nicht ausgeführt, wie die Proguard-Datei überhaupt nicht verarbeitet wurde und die Datei ziemlich einfach ist:

proguard-debug.pro

-dontobfuscate 
-dontoptimize 
-dontwarn 

Bevor mir jemand proguard für Debug-ausschalten zu beraten beginnt baut: ich brauche, um es wegen multidex aktiviert.

Antwort

1

Sie müssen auch die Standard proguard Regeln hinzufügen:

proguardFiles getDefaultProguardFile('proguard-android.txt') 

Diese Linie entfernt werden kann, da es ein Duplikat ist:

testProguardFile 'proguard-debug.pro' 
6

Wenn Sie Ihren Test Build so nahe wie möglich wollen von der real deal, versuchen diese:

# build.gradle 
debug { 
    minifyEnabled true 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    testProguardFile 'proguard-test.pro' 
} 

und

# proguard-test.pro: 
-include proguard-rules.pro 
-keepattributes SourceFile,LineNumberTable 

Auf der anderen Seite, wenn Sie es brauchen, nur weil Multidex, if your are using minSdkVersion < 21, ProGuard is tied to multidex flag and run automatically.