Android:签名打包后关闭Log打印

正常开发过程中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);

这样我们在使用签名打包后的app就不会再输出log,使用debug也不影响查看log处理解决问题。

你可能感兴趣的:(Android:签名打包后关闭Log打印)