关于android中的BuildConfig
来源:互联网 发布:csp软件下载 编辑:程序博客网 时间:2024/06/07 19:18
版本:android stuido 2.2
什么是BuildConfig
BuildConfig其实是个java类,在我们编译android工程时它自动生成。类的实现基本是下面这样的:
public final class BuildConfig{ public BuildConfig() { } public static final boolean DEBUG = false; public static final String APPLICATION_ID = "com.example.mylibrary"; public static final String BUILD_TYPE = "release"; public static final String FLAVOR = ""; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = "1.0";}
这个类的源码一般在
app\build\generated\source\buildConfig\debug\包名…
BuildConfig的作用
BuildConfig最常用的功能应该作为日志开关。大部分时候我们希望程序在debug模式下可以输出日志,而release时不输出。
官方文档有这样一段话:
Added a feature that allows you to run some code only in debug mode. Builds now generate a class called BuildConfig containing a DEBUGconstant that is automatically set according to your build type. You can check the (BuildConfig.DEBUG) constant in your code to run debug-only functions.
当然实现这种功能方法很多,我们完全可以自己实现一个MyLogUtil类增加一个开关变量来控制,比如;
public class MyLogUtil { private static final boolean DEBUG = true; public static void i(String tag, String msg) { if (DEBUG) android.util.Log.i(tag, msg); } public static void e(String tag, String msg) { if (DEBUG) android.util.Log.e(tag, msg); } //....}
在程序发布时把DEBUG变量改为false即可。但是这样其实不太方便,还要手动改代码,万一忘记了呢??
BuildConfig中的DEBUG字段会根据当前工程设置的编译选择自动的赋值,省去了手动改的麻烦,所以我们的程序变为这样:
if (BuildConfig.DEBUG) { Log.d("", "I am a debug");} else { Log.d("", "I am a release!");}
后计
我自己封了个jar包,然后被别的app调用,发现jar包里的buildconfig.debug总是false。一直未解决。后来还是决定用一个DEBUG成员变量来控制了。
- 关于android中的BuildConfig
- android中的BuildConfig
- BuildConfig:Android BuildConfig.DEBUG的妙用
- Android BuildConfig文件
- android的BuildConfig学习
- Android BuildConfig类
- Android BuildConfig.DEBUG的妙用
- Android BuildConfig.DEBUG的使用
- Android BuildConfig.DEBUG的妙用
- android BuildConfig Debug的妙用
- Android Gradle BuildConfig的妙用
- android BuildConfig.DEBUG的妙用
- Android Studio之BuildConfig类
- Android BuildConfig.DEBUG的妙用
- ANDROID BUILDCONFIG.DEBUG的妙用
- Android Studio之BuildConfig类
- 【Android New Features】—— 关于ADT 17的BuildConfig.DEBUG
- 关于ADT 17的BuildConfig.DEBUG
- 剑指offer——翻转单词顺序
- 杭电5744之Keep On Movin
- 203. Remove Linked List Elements
- com.squareup.okhttp.Interceptor
- BOM对象
- 关于android中的BuildConfig
- BootStrap 列表组件
- 谈谈MVC模式
- 计算机考试相关证书 (二)
- iOS NSURLCache(网络缓存)
- HDU Keep On Movin
- http状态码有哪些?代表什么意思?(查询手册而已)
- BootStrap 面板组件
- CentOS 7.2 添加磁盘并创建新区