您的位置:首页 > 其它

Androrid应用打包release版时关闭log日志输出

2017-12-29 14:40 1201 查看
方法一:封装Log类

可以自己封装一个Log类,可以实现条件判断,也可以设置输出的log级别。

public class Logger {
public static int LOG_LEVEL = 0;
public static int ERROR = 1;
public static int WARN = 2;
public static int INFO = 3;
public static int DEBUG = 4;
public static int VERBOS = 5;

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

public static void w(String tag,String msg){
if(LOG_LEVEL>WARN)
Log.w(tag, msg);
}
public static void i(String tag,String msg){
if(LOG_LEVEL>INFO)
Log.i(tag, msg);
}
public static void d(String tag,String msg){
if(LOG_LEVEL>DEBUG)
Log.d(tag, msg);
}
public static void v(String tag,String msg){
if(LOG_LEVEL>VERBOS)
Log.v(tag, msg);
}
}


方法二:Proguard混淆配置
使用gradle 进行打包,添加混淆配置可以将log输出给删去,实现方式如下
1.build.gradle:

buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}


2.proguard-rules.pro

#(可选)避免Log打印输出
-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(...);
}
注:该方法必须确保优化未被禁用,所以在build.gradle里需要用proguard-android-optimize.txt替换proguard-android.txt,而且在proguard-rules.pro文件里不能使用-dontoptimize参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: