`
dengzhangtao
  • 浏览: 677571 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android中BuildConfig.DEBUG的使用

 
阅读更多

ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码。Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值。您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。

如果有些代码不想在发布后执行,就可以使用该功能。

比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式。

[java] 
  1. public static boolean DEBUG = true;  

然后在代码中写入

 

 

[java] 
  1. if(DEBUG==true){  
  2.     Log.d(TAG,"output something");  
  3. }  

这样打包发布之前还要修改DEBUG变量的值,有时候不记得改还要重新编译发布,很费时。

 

有了BuildConfig.DEBUG之后,你在代码中可以直接写入

 

[java] 
  1. <span style="white-space:pre">  </span>    if (BuildConfig.DEBUG) {  
  2.               Log.d(TAG, "output something");  
  3.           }  

 

在发布前,

[java] 
  1. BuildConfig.DEBUG的值自动为true,  

 

你通过Android Tools -> Export Signed Application Package发布的包中,

[java] 
  1. BuildConfig.DEBUG的值自动变为false。  
[java] 
  1. 开发者自己不用修改其他东西了。  
3
0
分享到:
评论
1 楼 dingran 2013-10-08  
很好啊,不用自己写和维护了,多么方便啊。

那么如果是用ant打混淆包呢?这样行不行呢

相关推荐

    BuildConfig方法二

    在Android开发过程中,`BuildConfig.DEBUG` 是一个非常重要的常量,它用于判断当前应用是否处于调试模式。这个常量的值在构建过程中由Gradle自动生成,通常在开发阶段,`BuildConfig.DEBUG` 应该返回 `true`,以便...

    BuildConfig.swift,类似android的macos/ios自动生成配置文件.zip

    在iOS和macOS开发中,`BuildConfig.swift` 文件是一个非常实用的工具,它与Android中的构建配置文件有相似之处,但针对Apple的Swift编程语言进行了优化。这个开源项目允许开发者自动化生成配置文件,通常这些文件...

    Android代码-android-postfix-plugin

    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

    Android代码-AboutIt

    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

    AndroidStudio配置文件.rar

    总结起来,`settings.gradle`和`build.gradle`文件在Android Studio项目中起着核心作用,它们共同定义了项目的结构、组件关系以及构建配置。理解并熟练运用这两个文件对于有效管理和构建Android项目至关重要。正确...

    Android代码-AndroidKTX

    AndroidKTX Some very useful kotlin extensions for android ... isDebug = BuildConfig.DEBUG, defaultLogTag = "logTag", sharedPrefName = "spName") Hash相关 我们使用hash的时候,大都是对字符串操作,所

    BuildKonfig:Kotlin多平台项目的BuildConfig

    总结来说,`BuildKonfig`是一个强大的工具,为Kotlin多平台项目提供了类似Android中的`BuildConfig`功能,帮助开发者在多个平台上管理和使用编译时配置。通过简单的配置,你可以轻松地在项目中引入编译时常量,提高...

    Android代码-LoggingInterceptor

    .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 build config”指的是使用Ant构建工具来配置和管理Android项目的构建过程。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,能够处理各种构建任务,包括编译、打包、测试等。在...

    Android代码-Util

    if(BuildConfig.DEBUG){ Utils.setDebug(true,"Debug"); } 图片工具 &gt;从相机或者相册选取图片,图片压缩 ImageUtil.getImageFromAlbum(UploadFileActivity.this); ImageUtil.getImageFromCamera...

    Log框架(一个类,对Log进行封装)

    在这个`SimpleLog`类中,我们为每个日志级别(如DEBUG、INFO等)提供了一个静态方法,并在调用原生`Log`类之前检查`BuildConfig.DEBUG`标志。这样,在Debug模式下,日志会被打印出来,而在Release模式下,由于`Build...

    Android代码-Utils

    最好这样写JUtils.setDebug(BuildConfig.DEBUG, "DefaultTag"); void Log(String text) void Log(String TAG,String text) 简便的全局Log,根据Debug模式是否log void Toast(String text) void ToastLong...

    Android中可以作为Log开关的一些操作及安全性详解

    因此,我们可以直接在`LogUtils`类中使用`BuildConfig.DEBUG`来决定是否打印日志,无需手动修改常量: ```java public static void d(String message) { if (BuildConfig.DEBUG) { Log.d("TAG", message); } } `...

    Android代码-RestHttp

    &gt; - 封装了HttpURLConnection,简单易用的API设计。 &gt; - Debug模式下设置日志TAG,所有网络请求日志输出,方便调试。 gradle依赖 ...使用 ...初始化:设置日志TAG ... if (BuildConfig.DEBUG) { RestHttp.setDebug(true,

    安卓Android源码——theme.rar

    7. **主题调试**:通过改变`BuildConfig.DEBUG`标志,可以在调试模式下快速预览不同主题的效果。 8. **AAPT(Android Asset Packaging Tool)**:AAPT工具处理资源文件,将它们打包进APK,并生成R类,使得代码可以...

    Log封装常用工具类。。。

    对于`Demo`这个子文件,可能是封装好的Log工具类的实例代码,用于展示如何在项目中使用这个工具类。在阅读这个文件时,你可以关注以下几个方面: 1. **日志标签(Tag)**:是否可以自定义,以便区分不同模块的日志。...

    android自定义日志类Log

    1、使用StackTraceElement输出当前日志所在的当前文件名、行号、函数名; 2、定义了5中日志级别; 3、用BuildConfig.DEBUG控制日志开关,避免不小心将未关闭日志的应用发布到市场上。

    在Eclipse 中实现 Demo+LeakCannary+android-suport-v7.rar

    if (BuildConfig.DEBUG) { LeakCanary.install(this); } ``` 4. **创建Demo**: "hehe"文件可能是你的Demo项目,它可能包含了一个简单的Activity或者Fragment,用于展示如何在实际应用中使用LeakCanary。你...

    统一日志工具类

    封装了Android Log类的功能,便于统一控制日志输出,通过BuildConfig.DEBUG控制日志是否输出,在debug版本自动开启日志,正式版本关闭日志

Global site tag (gtag.js) - Google Analytics