app上线前,有一项安全测试不合格
描述:在日志中可见大量动态调试信息。
安全建议:开发过程中应尽量避免在日志中输出敏感信息,上线前应及时去除不必要的日志输出。
这样是非常危险的!当我们签名后发布应用后如果没有关闭log的打印,那么安装app后连接as 或者 eclipse 等ide就会直接打印log,清晰可见,那么这款app就没有什么安全可言了,所以发布应用前关闭log是必须的!
网上查阅后做法如下:
第一步:自定义buildconfig标明log的打印与关闭
在app->buile.gradle中的buildTypes中添加下面字段:
buildTypes {
release {
// 使用签名打包时不显示Log
buildConfigField "boolean", "LOG_DEBUG", "false"
}
debug {
//正常debug测试打开log打印,true表示打开
buildConfigField "boolean", "LOG_DEBUG", "true"
}
}
第二步:封装打印方法
新建一个MyLog类
public class MyLog {
public static void i(String tag,String message){
if(BuildConfig.LOG_DEBUG) Log.i(tag,message);
}