2015-03-23 5 views
7

Ich versuche, die Protokollanweisungen ohne Erfolg zu entfernen. Andere SO-Antworten auf dieselbe Frage beziehen sich auf Eclipse oder auf eine alte Android Studio-IDE (Intellij).Entfernen der Protokollierung mit Proguard

build.gradle

buildTypes { 
release { 
    minifyEnabled true 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
} 
... 

proguard-rules.pro

-assumenosideeffects class android.util.Log { 
    public static *** d(...); 
    public static *** v(...); 
    public static *** i(...); 
    public static *** w(...); 
    public static *** e(...); 
} 

ich noch die Log-Anweisungen nach dem Aufstehen des Quellcode aus der signierten App-Release sehen. apk

Antwort

11

eine Änderung in der build.gradle hat den Trick

buildTypes { 
release { 
    minifyEnabled true 
    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
} 
... 
+0

Das hat wirklich meinen Tag gerettet! Dies ist eigentlich hier erwähnt (indirekt): https://developer.android.com/studio/build/shrink-code.html#shrink-code – kirtan403

+0

nach der Verwendung von proguard-android-optimize.txt bekomme ich Fehler - java.lang .IllegalArgumentException: Formularcodierte Methode muss mindestens ein @Field enthalten. –

+0

Was war deine Veränderung? Dieser Code sieht genauso aus wie die Frage ... –