android中BuildConfig.DEBUG的使用
2016-02-01 18:44
246 查看
原帖:http://dengzhangtao.iteye.com/blog/1846534
ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码。Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值。您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。
如果有些代码不想在发布后执行,就可以使用该功能。
比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式。
[java]
public static boolean DEBUG = true;
然后在代码中写入
[java]
if(DEBUG==true){
Log.d(TAG,"output something");
}
这样打包发布之前还要修改DEBUG变量的值,有时候不记得改还要重新编译发布,很费时。
有了BuildConfig.DEBUG之后,你在代码中可以直接写入
[java]
<span style="white-space:pre"> </span> if (BuildConfig.DEBUG) {
Log.d(TAG, "output something");
}
在发布前,
[java]
BuildConfig.DEBUG的值自动为true,
你通过Android Tools -> Export Signed Application Package发布的包中,
[java]
BuildConfig.DEBUG的值自动变为false。
[java]
开发者自己不用修改其他东西了。
ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码。Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值。您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。
如果有些代码不想在发布后执行,就可以使用该功能。
比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式。
[java]
public static boolean DEBUG = true;
然后在代码中写入
[java]
if(DEBUG==true){
Log.d(TAG,"output something");
}
这样打包发布之前还要修改DEBUG变量的值,有时候不记得改还要重新编译发布,很费时。
有了BuildConfig.DEBUG之后,你在代码中可以直接写入
[java]
<span style="white-space:pre"> </span> if (BuildConfig.DEBUG) {
Log.d(TAG, "output something");
}
在发布前,
[java]
BuildConfig.DEBUG的值自动为true,
你通过Android Tools -> Export Signed Application Package发布的包中,
[java]
BuildConfig.DEBUG的值自动变为false。
[java]
开发者自己不用修改其他东西了。
相关文章推荐
- UVA 1626 Brackets sequence(括号匹配 + 区间DP)
- jfinal整合妹子UI初步完成
- iOS_第3方类库_BlurAlertView_GPUImage
- kendo-ui
- UITableView只更新高度不更新内容以及只更新内容不更新高度
- 获取Jenkins project build结果
- Android中AlertDialog, AltertDialog.Builder的基本用法与Builder模式
- UITextInput 协议参考
- 如何在easyui的DataGrid的单元格添加ProgressBar进度条
- iOS 简单的贝塞尔(UIBezierPath)曲线使用
- iOS UIPageControl使用
- Vue有坑慎入
- No DEFAULT or UI configuration directive found!
- setValuesForKeysWithDictionary forUndefinedKey
- android ui设计
- Incorrect string value: '\xE4\xBC\x9A\xE5\x91\x98' for column 'recipient' at row 1
- ThreadPoolExecutor线程池解析与BlockingQueue的三种实现
- Liferay开发实战(2):Service Builder生成持久化层,及开发服务层
- Android中View的requestLayout()与invalidate()方法的理解
- EasyUI 中GridView 满足某条件 改变行的背景色