我们在进行Android App 开发的时候经常会使用 Log 这个类来进行 logcat 日志输出。但是这样的输出日志,如果带入发布包内对外发布出去了,会导致程序运行信息暴露给第三方。
一般情况下,大家在网上会查到一个通过 proguard 这个混淆工具来自动删除对 Log的 api 调用的代码。
proguard_rules.pro
-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(...);
}
但是最近发现这个方法在目前的工程中不生效了,从而导致发布包依然有这个问题。在网上翻越了包括 ProGuard Usage 的一些线上资料以后,在 StackOverflow 上找到了相关的解释。
From http://pro