正常开发过程中log是常用的,个人之前遇到bug第一时间不会使用调试工具来看看哪里出的问题,常常使用log输出相应的数据或者判断结果,当我们签名后发布应用后如果继续打印log是非常危险的,假如没有关闭log的打印,那么安装app后连接as 或者 eclipse 等ide就会直接打印log,清晰可见,那么这款app就没有什么安全可言了,所以发布应用前关闭log是必须的!
怎么关闭log呢?
第一步:自定义buildconfig标明log的打印与关闭
在app->buile.gradle中的buildTypes中添加下面字段:
buildTypes {
release {
// 使用签名打包时不显示Log
buildConfigField "boolean", "LOG_DEBUG", "false"
........
}
debug {
//正常debug测试打开log打印
buildConfigField "boolean", "LOG_DEBUG", "false"'
........
}
}
第二步:封装打印方法
public class MyLog {
//读取BuildConfig.LOG_DEBUG 签名时为FALSE 不打印 debug时为true 打印
public static void i(String tag,String message){
if(BuildConfig.LOG_DEBUG)Helper.logi(tag,message);
}
public static void d(String tag,String message){
if(BuildConfig.LOG_DEBUG)Log.d(tag,message);
}
public static void e(String tag,String message){
if(BuildConfig.LOG_DEBUG)Log.e(tag,message);
}
}
第三步:使用
这里就不能再继续使用android.util.Log
而是使用上一步自定义的MyLog.i(tag,message);
来替换Log.i(tag,message);