2016-03-20 20 views
1

Ich versuche, alle Aufrufe der Log-Methoden aus dem Code zu entfernen, indem ich eine benutzerdefinierte Proguard-Datei für einen Release-Build verwende. Also schreibe ich meine benutzerdefinierte proguard Datei (von Netz nahm):Wie benutzt man Proguard-Dateien?

proguard-rules-release.txt

-assumenosideeffects class android.util.Log { 
    public static boolean isLoggable(java.lang.String, int); 
    public static int v(...); 
    public static int i(...); 
    public static int w(...); 
    public static int d(...); 
    public static int e(...); 
} 

es Hinzugefügt in build.grade:

android { 

    buildTypes { 

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

Aber wenn ich lese *.class Dateien im Android Studio von Decompiler in ~/app/build/intermediates/classes/release Ich finde, dass es alle Anrufe sowie ohne Progard-Datei enthält.

Was mache ich falsch?

ADDED ich auch apk-Datei dekompiliert. Jetzt bin ich mir sicher, dass meine Proguard-Datei nicht funktioniert. schrieb ich build.gradle so:

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

Und apk-Datei nach dekompilierten es erzeugt unterzeichnet ... Aber es egal hat Ausgänge loggt sein. Ich verstehe nichts ...

Antwort

1

Ich fand, dass ich falsch mache. Imma noobie. Die Antwort war in meinem Beitrag ...

minifyEnabled false 

Diese Option aktiviert | deaktiviert die Unterstützung von Proguard-Dateien.
Vielleicht wird jemand das gleiche Problem haben.