700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android开发:gradle自定义BuildConfig.DEBUG实现在debug模式下输出Log日志 release环境下不输出Log

android开发:gradle自定义BuildConfig.DEBUG实现在debug模式下输出Log日志 release环境下不输出Log

时间:2019-03-27 21:17:38

相关推荐

android开发:gradle自定义BuildConfig.DEBUG实现在debug模式下输出Log日志 release环境下不输出Log

因为做android开发,我们程序员都需要经常在程序里面去打印日志。但是一旦我们项目做完上线之后这些日志就不在需要打印了,因为它可能影响性能之类的。你可以在上线之后删掉,但这样做有缺点。1.你得一行一行的删,不知道要删到猴年马月,头发又会少了一撮 2.如果项目上线了发现有bug需要返工,然后你发现日志都被你删完了,然后你就原地爆炸。

所以做android开发我们可以在build.gradle自定义BuildConfig.DEBUG实现在debug模式下输出Log日志,release环境下不输出Log

在android{}中添加如下代码buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'buildConfigField("boolean", "LOG_DEBUG", "false")}debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'buildConfigField("boolean", "LOG_DEBUG", "true")}}lintOptions {checkReleaseBuilds falseabortOnError false}

在debug模式下 buildConfigField("boolean", "LOG_DEBUG", "false")在编译的时候会给BuildConfig创建一个常量LOG_DEBUG,值为true

在release 模式下 buildConfigField("boolean", "LOG_DEBUG", "true")在编译的时候会给BuildConfig创建一个常量LOG_DEBUG,值为false

然后我们自定义一个LogUtil工具类:

public class LogUtil {public static void e (String tag, String msg){if (BuildConfig.LOG_DEBUG) {Log.e(tag,msg);}}}

只需要在打印日志的时候先判断BuildConfig.LOG_DEBUG的值 ,这样子就可以在debug和release之间切换打印日志

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。