Android BuildConfig使用

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. 开发者自己不用修改其他东西了。
时间: 2024-10-12 13:11:10

Android BuildConfig使用的相关文章

Android BuildConfig.DEBUG的妙用

在Android开发中,我们使用android.util.Log来打印日志,方便我们的开发调试.但是这些代码不想在发布后执行,我们并不想在软件发布后调试日志被其他开发者看到,现在我的方法是设置一个全局变量,标记软件为Debug模式还是Release模式.来看下代码: public class Log { private static final boolean DEBUG = true; public static void i(String tag, String msg) { if (DEB

使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中&amp;lt;meta-data&amp;gt;变量的值

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客 你也能够查看我的其它同类文章.也会让你有一定的收货 关于使用Gradle来控制版本号和生成不同版本号的代码.我总结了三篇文章,网上关于这些知识,都比較零散.我在学习这些的之前.根本不知道还有这种方法.所以说不知道并不可怕,可怕的是不知道自己不知道.相信这三篇文章,会给你不少灵感 Gradle构建控制Log开关--BuildConfig\自己定义

Android开发技术周报 Issue#17

ART运行时垃圾收集(GC)过程分析 ART运行时与Dalvik虚拟机一样,都使用了Mark-Sweep算法进行垃圾回收,因此它们的垃圾回收流程在总体上是一致的.但是ART运行时对堆的划分更加细致,因而在此基础上实现了更多样的回收策略.不同的策略有不同的回收力度,力度越大的回收策略,每次回收的内存就越多,并且它们都有各自的使用情景.这样就可以使得每次执行GC时,可以最大限度地减少应用程序停顿.本文就详细分析ART运行时的垃圾收集过程. 如何调试 Android 上 HTTP(S) 流量 在And

Gradle 自定义Task 打Jar包

可以作为Jar包内容的有两个地方: 1: build/intermediates/bundles/release/ 下的classes.jar 2: build/intermediates/classes/release/ 下 你的工程目录 方式1,采用的方式为copy,也就是网上最多.最容易搜索.最重复的方式: task makeJar(type: Copy) { delete 'build/libs/App'sName.jar' from( 'build/intermediates/bund

Gradle for Android(二)全局设置、自定义BuildConfig

全局设置 如果有很多项目,可以设置全局来统一管理版本号或依赖库,根目录下build.gradle下: ext {    compileSdkVersion = 23    buildToolsVersion = "23.0.2"    minSdkVersion = 14    targetSdkVersion = 23 } app/build.gradle android {    compileSdkVersion rootProject.ext.compileSdkVersion

android中BuildConfig.DEBUG的使用

ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码.Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值.您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码. 如果有些代码不想在发布后执行,就可以使用该功能. 比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式. 1 public sta

Android Studio 使用 Gradle 打包 Jar-IT蓝豹

Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 将 plugin 修改为library后 build 出 aar,再提取 aar 里面的 classes.jar 使用 jarjar 等工具剔除多余的 class 对第二步得到的 jar 进行混淆 无论哪一步,所做的工作量都不少.于我个人而言,相当麻烦,于是花了些时间研究了下 Gradle 打 Jar 包. 代码 废话不多说,先上代码( 注 :只在 Gradle And

Android热修复:Andfix和Hotfix,两种方案的比较与实现

Andfix和hotfix是两种android热修复框架. android的热修复技术我看的最早的应该是QQ空间团队的解决方案,后来真正需要了,才仔细调查,现在的方案中,阿里有两种Dexposed和Andfix框架,由于前一种不支持5.0以上android系统,所以阿里系的方案我们就看Andfix就好.Hotfix框架算是对上文提到的QQ空间团队理论实现.本文旨在写实现方案,捎带原理. Andfix 引入 框架官网:https://github.com/alibaba/AndFix 介绍是用英文

Android 日志记录杂谈-Logger,Timber,logback-android

转载:http://www.jianshu.com/p/39834be3cb6c "Every time you log in production, a puppy dies." – Jake Wharton 做安卓项目中,调试程序的时候一般会进行打log来查看相关信息,而我原来是使用的系统自带的Log来打印. 归结二个问题:<信息显示>,<信息存储>,就这二个问题我们具体来看如何解决 -----------------------主体分割君---------