BuildConfig.DEBUG 的妙用
ADT(R17)会自动生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据当前项目的Build类型自动设置值。
可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。
如果有些代码不想在发布后执行,就可以使用该功能。
Added a feature that allows you to run some code only in debug mode.
Builds now generate a class called BuildConfig containing a DEBUGconstant that is automatically set according to your build type. You can check the (BuildConfig.DEBUG) constant in your code to run debug-only functions.
比如调试日志,不想在软件发布后被其他开发者看到,过去的方式是设置一个全局变量,标记软件为DEBUG模式还是其他模式。
1 | public static boolean DEBUG = true; |
这样打包发布之前还要修改DEBUG变量的值,有时候不记得或者变量到处都有,重新修改、编译、发布,费时费力。
有了BuildConfig.DEBUG之后,代码变成了
1 | if (BuildConfig.DEBUG) { |
在编码期,编译发布前,BuildConfig.DEBUG的值自动为true
需要打包时,先禁用 “Build Automatically”, “Clean”工程目录,再通过 “Android Tools -> Export Signed Application Package“ 编译打包,BuildConfig.DEBUG的值会被改为false。
开发者自己不用修改其他东西了。
流程如下[1]
- Project -> Build Automatically
- Project -> Clean
- Project -> Build
- Android Tools -> Export Android application
从此,Logcat清爽了许多。
[1]-When does ADT set BuildConfig.DEBUG to false?
Author: Yrom
Link: https://yrom.net/blog/2012/05/26/android-buildconfig-debug/
License: 知识共享署名-非商业性使用 4.0 国际许可协议