常见的Android debug日志的打法是定义一个静态变量DEBUG,如果为true,则打印log,否则不打印。对于release模式该变量为false,debug模式变量为true。
如: if (BuildConfig.DEBUG) LOG.d(TAG, "log msg");
proguard的作用就是在release模式压缩、优化、混淆代码,其中的压缩和优化就包括去除不必要的代码,我们可以利用这一特性解决debug日志的问题,在proguard.cfg中添加
-assumenosideeffects class android.util.Log {
public static *** d(...);
}<
-assumenosideeffects class android.util.Log {
public static *** d(...);
}<