不少网友说的方法都颇有用.可是方法都很复杂.好比 java
http://blog.csdn.net/jiese1990/article/details/21752159 android
一文所说的. app
那么咱们能够经过proguard直接优化掉LOG; 优化
首先,在混淆的时候,无效代码(即永远不可能被执行到的代码)将被优化掉. ui
好比定义了一个变量 spa
static final boolean DEBUG=false; .net
if(DEBUG){由于DEBUG永远为false.因此这样的代码将被优化掉. code
固然也能够直接使用BuildConfig.DEBUG. blog
参考http://blog.csdn.net/lzqjfly/article/details/12947857 get
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的值
此时的BuildConfig.DEBUG就是false的状态了.
参考: