android关闭日志

原创
2015/01/25 15:31
阅读数 534

很多网友说的方法都很有用.但是方法都很复杂.比如

http://blog.csdn.net/jiese1990/article/details/21752159

一文所说的.

那么我们可以通过proguard直接优化掉LOG;

首先,在混淆的时候,无效代码(即永远不可能被执行到的代码)将被优化掉.

比如定义了一个变量

static final boolean DEBUG=false;

        if(DEBUG){
         Log.i(TAG,"info");
        }

因为DEBUG永远为false.所以这样的代码将被优化掉.

当然也可以直接使用BuildConfig.DEBUG.

 参考http://blog.csdn.net/lzqjfly/article/details/12947857

public class Log {
  private static final boolean DEBUG = BuildConfig.DEBUG;

  public static void i(String tag, String msg) {
      if (DEBUG)
          android.util.Log.i(tag, msg);
  }

  public static void e(String tag, String msg) {
      if (DEBUG)
          android.util.Log.e(tag, msg);
  }

  public static void d(String tag, String msg) {
      if (DEBUG)
          android.util.Log.d(tag, msg);
  }

  public static void v(String tag, String msg) {
      if (DEBUG)
          android.util.Log.v(tag, msg);
  }

  public static void w(String tag, String msg) {
      if (DEBUG)
          android.util.Log.w(tag, msg);
  }
}

如果BuildConfig.DEBUG的值为false;

这样也会被混淆器优化掉的.

如何改变BuildConfig.DEBUG的值

  1. Project -> Build Automatically,即取消Build Automatically
  2. Project -> Clean
  3. Project -> Build
  4. Android Tools -> Export Android application

此时的BuildConfig.DEBUG就是false的状态了.

参考:

http://blog.csdn.net/lzqjfly/article/details/12947857

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部