ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码。Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值。您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。
如果有些代码不想在发布后执行,就可以使用该功能。
比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式。
- public static boolean DEBUG = true;
然后在代码中写入
- if(DEBUG==true){
- Log.d(TAG,"output something");
- }
这样打包发布之前还要修改DEBUG变量的值,有时候不记得改还要重新编译发布,很费时。
有了BuildConfig.DEBUG之后,你在代码中可以直接写入
- <span style="white-space:pre"> </span> if (BuildConfig.DEBUG) {
- Log.d(TAG, "output something");
- }
在发布前,
- BuildConfig.DEBUG的值自动为true,
你通过Android Tools -> Export Signed Application Package发布的包中,
- BuildConfig.DEBUG的值自动变为false。
- 开发者自己不用修改其他东西了。
相关推荐
在Android开发过程中,`BuildConfig.DEBUG` 是一个非常重要的常量,它用于判断当前应用是否处于调试模式。这个常量的值在构建过程中由Gradle自动生成,通常在开发阶段,`BuildConfig.DEBUG` 应该返回 `true`,以便...
在iOS和macOS开发中,`BuildConfig.swift` 文件是一个非常实用的工具,它与Android中的构建配置文件有相似之处,但针对Apple的Swift编程语言进行了优化。这个开源项目允许开发者自动化生成配置文件,通常这些文件...
android-postfix-plugin Android postfix plugin for AndroidStudio Available templates: ...if (BuildConfig.DEBUG) Log.d(TAG, expr) .find Typed FindView (ViewType) findViewById(expr) .isemp Check
AboutIt A About-page creator Install dependencies { ...} Optionally one may also add the meta module... .buildInfo(BuildConfig.DEBUG, BuildConfig.VERSION_CODE, BuildConfig.VERSION_NAME) .copyright("Example
总结起来,`settings.gradle`和`build.gradle`文件在Android Studio项目中起着核心作用,它们共同定义了项目的结构、组件关系以及构建配置。理解并熟练运用这两个文件对于有效管理和构建Android项目至关重要。正确...
AndroidKTX Some very useful kotlin extensions for android ... isDebug = BuildConfig.DEBUG, defaultLogTag = "logTag", sharedPrefName = "spName") Hash相关 我们使用hash的时候,大都是对字符串操作,所
总结来说,`BuildKonfig`是一个强大的工具,为Kotlin多平台项目提供了类似Android中的`BuildConfig`功能,帮助开发者在多个平台上管理和使用编译时配置。通过简单的配置,你可以轻松地在项目中引入编译时常量,提高...
.loggable(BuildConfig.DEBUG) .setLevel(Level.BASIC) .log(Platform.INFO) .request("Request") .response("Response") .addHeader("version", BuildConfig.VERSION_NAME) .addQueryParam("query
标题“ant android build config”指的是使用Ant构建工具来配置和管理Android项目的构建过程。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,能够处理各种构建任务,包括编译、打包、测试等。在...
if(BuildConfig.DEBUG){ Utils.setDebug(true,"Debug"); } 图片工具 >从相机或者相册选取图片,图片压缩 ImageUtil.getImageFromAlbum(UploadFileActivity.this); ImageUtil.getImageFromCamera...
在这个`SimpleLog`类中,我们为每个日志级别(如DEBUG、INFO等)提供了一个静态方法,并在调用原生`Log`类之前检查`BuildConfig.DEBUG`标志。这样,在Debug模式下,日志会被打印出来,而在Release模式下,由于`Build...
最好这样写JUtils.setDebug(BuildConfig.DEBUG, "DefaultTag"); void Log(String text) void Log(String TAG,String text) 简便的全局Log,根据Debug模式是否log void Toast(String text) void ToastLong...
因此,我们可以直接在`LogUtils`类中使用`BuildConfig.DEBUG`来决定是否打印日志,无需手动修改常量: ```java public static void d(String message) { if (BuildConfig.DEBUG) { Log.d("TAG", message); } } `...
> - 封装了HttpURLConnection,简单易用的API设计。 > - Debug模式下设置日志TAG,所有网络请求日志输出,方便调试。 gradle依赖 ...使用 ...初始化:设置日志TAG ... if (BuildConfig.DEBUG) { RestHttp.setDebug(true,
7. **主题调试**:通过改变`BuildConfig.DEBUG`标志,可以在调试模式下快速预览不同主题的效果。 8. **AAPT(Android Asset Packaging Tool)**:AAPT工具处理资源文件,将它们打包进APK,并生成R类,使得代码可以...
对于`Demo`这个子文件,可能是封装好的Log工具类的实例代码,用于展示如何在项目中使用这个工具类。在阅读这个文件时,你可以关注以下几个方面: 1. **日志标签(Tag)**:是否可以自定义,以便区分不同模块的日志。...
1、使用StackTraceElement输出当前日志所在的当前文件名、行号、函数名; 2、定义了5中日志级别; 3、用BuildConfig.DEBUG控制日志开关,避免不小心将未关闭日志的应用发布到市场上。
if (BuildConfig.DEBUG) { LeakCanary.install(this); } ``` 4. **创建Demo**: "hehe"文件可能是你的Demo项目,它可能包含了一个简单的Activity或者Fragment,用于展示如何在实际应用中使用LeakCanary。你...
封装了Android Log类的功能,便于统一控制日志输出,通过BuildConfig.DEBUG控制日志是否输出,在debug版本自动开启日志,正式版本关闭日志