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。
- 开发者自己不用修改其他东西了。
相关推荐
BuildConfig.DEBUG总是返回false的解决方法
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
AndroidKTX Some very useful kotlin extensions for android ... isDebug = BuildConfig.DEBUG, defaultLogTag = "logTag", sharedPrefName = "spName") Hash相关 我们使用hash的时候,大都是对字符串操作,所
.loggable(BuildConfig.DEBUG) .setLevel(Level.BASIC) .log(Platform.INFO) .request("Request") .response("Response") .addHeader("version", BuildConfig.VERSION_NAME) .addQueryParam("query
if(BuildConfig.DEBUG){ Utils.setDebug(true,"Debug"); } 图片工具 >从相机或者相册选取图片,图片压缩 ImageUtil.getImageFromAlbum(UploadFileActivity.this); ImageUtil.getImageFromCamera...
最好这样写JUtils.setDebug(BuildConfig.DEBUG, "DefaultTag"); void Log(String text) void Log(String TAG,String text) 简便的全局Log,根据Debug模式是否log void Toast(String text) void ToastLong...
> - 封装了HttpURLConnection,简单易用的API设计。 > - Debug模式下设置日志TAG,所有网络请求日志输出,方便调试。 gradle依赖 ...使用 ...初始化:设置日志TAG ... if (BuildConfig.DEBUG) { RestHttp.setDebug(true,
1、使用StackTraceElement输出当前日志所在的当前文件名、行号、函数名; 2、定义了5中日志级别; 3、用BuildConfig.DEBUG控制日志开关,避免不小心将未关闭日志的应用发布到市场上。
封装了Android Log类的功能,便于统一控制日志输出,通过BuildConfig.DEBUG控制日志是否输出,在debug版本自动开启日志,正式版本关闭日志
在生产中删除 Android 日志的方法之一如下 if (BuildConfig.DEBUG) { Log.d("TAG", "Some log");}这很有效,但您必须始终添加额外的if语句。 另一种方法是使用以下 Proguard 规则删除日志: -assumenosideeffects ...
套用外挂程式将以下代码段添加到您的根构建脚本文件中: buildscript { repositories { jcenter() } dependencies { classpath ' com.kezong:fat-aar:1.3.3 ' }} 将以下代码段添加到android库的build.gradle中: ...
EasyLog 易于使用且轻巧的Android记录器,可从StackTrace打印呼叫者[类名] [方法名] [行号] 一体化 您可以从添加此Lib ... showLogs( BuildConfig . DEBUG ); EasyLog . setDefaultText( " defau
cm@cm-System-Product-Name:/R16/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun8iw5p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux...
百度地图开发java源码 ...BuildConfig.DEBUG); 库 // 已经整合进入BaseCore中的库 api 'com.android.support:support-v4:28.0.0' api 'com.android.support:appcompat-v7:28.0.0' api 'com.android.support:des
适用于Android的文件记录器 这是一个用Java编写的文件记录器,没有任何高级功能。... .enableLogcat( BuildConfig . DEBUG ) // config level .level( BuildConfig . DEBUG ? LoggerManager . Level .
Android帮助器库,以使用预定义的数据集填充表单字段FormFiller Android帮助器库,以使用预定义的数据集填充表单字段仅当(BuildConfig.DEBUG){FormFiller.Builder(this)//通过使用外部键盘上的f键填充表单....
CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/debug.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p...
简单日志 您可以轻松使用Log。 演示版 例子 public class DemoActivity ... if ( BuildConfig . DEBUG ){ Logging . isRunning = true ; } else { Logging . isRunning = false ; } /** * print form : * cl
Android Eclipse生成器 一个Gradle插件,可以生成Eclipse项目文件(.project和.classpath),从而可以将Eclipse IDE用于... build/generated/source/buildConfig/debug build/generated/source/aidl/debug 对于打包为