因为做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之间切换打印日志