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 ...