android怎么在release版下不输出日志?

方法一:如果有做代码混淆,在配置文件中加入下面语句
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
}

方法二:对于没做代码混淆的,可以按照下面方法:
在manifest文件中加入android:debuggable="@bool/build_log"
<application
android:name="MyApplication"
android:icon="@drawable/gift"
android:label="@string/app_name" android:debuggable="@bool/build_log">

定义一个日志类
public class Lol {


public static final boolean ENABLE_LOG = true & MyApplication.sDebug;


private static final boolean DEBUG = true & ENABLE_LOG;


private static final boolean VERBOSE = true & ENABLE_LOG;


private static final boolean TEMP = true & ENABLE_LOG;


private static final boolean WARNING = true & ENABLE_LOG;


private static final boolean INFO = true & ENABLE_LOG;


private static final boolean ERROR = true & ENABLE_LOG;


public static void obvious(String tag, String msg) {
if (DEBUG) {
msg = "*********************************\n" + msg
+ "\n*********************************";
Log.d(tag, msg);
}
}


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


public static void d(boolean bool, String tag, String msg) {
if (TEMP&bool)
Log.d(tag, msg);
}


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


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


public static void e(boolean bool, String tag, String msg) {
if (TEMP&bool)
Log.e(tag, msg);
}


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


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


public static String getStackTraceString(Exception e) {
return Log.getStackTraceString(e);
}


public static void w(String tag, String msg, Exception e) {
if (WARNING)
Log.w(tag, msg,e);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值