使用 Proguard 删除日志记录

Remove Logging with Proguard

我试图删除日志语句但没有成功。对同一问题的其他 SO 答案是指 Eclipse 或旧的 Android Studio IDE (Intellij)。

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(...);
}

从已签名的 app-release.apk

获取源代码后,我仍然可以看到日志语句

build.gradle 的更改,将默认的 proguard-android.txt 替换为 proguard-android-optimize.txt 成功了。

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

注意:gradle中的默认proguard设置是proguard-android.txt