https://blog.csdn.net/lvxiangan/article/details/71601451

Android Studio开发中,把一个module输出打包为jar文件,我们会发现里面多了一个BuildConfig类,但在整个开发过程中我们始终没有写过这个类,这是怎么回事呢?

原来,BuildConfig类是一个根据build.gradle配置文件自动生成的类,有点类似于R.class,生成后不能修改。它具备以下特点:

1、该类位置在applicationId(应用包名)下面,如

2、巧用BUILD_TYPE属性进行版本查看、DEBUG属性日志控制等。

  1. Log.d("com.emp.unionpay", BuildConfig.BUILD_TYPE);

生产包BuildConfig.BUILD_TYPE = “release”;

测试包BuildConfig.BUILD_TYPE = “debug”;

日志输出控制:

  1. if (BuildConfig.DEBUG) {
  2. Log.d("<span style="font-family:Arial, Helvetica, sans-serif;">com.emp.unionpay</span><span style="font-family:Arial, Helvetica, sans-serif;">", "I am a debug");</span>
  3. }

3、自定义BuildConfig类的内容

下面代码将向我们展示,如何向BuildConfig添加自己想要的一些值。修改build.gradle文件:

  1. android {
  2. buildTypes {
  3. debug {
  4. buildConfigField "String", "URL",   "\"http://www.baidu.com/\""
  5. buildConfigField "int",    "MONEY",  "1000"
  6. }
  7. release {
  8. minifyEnabled false
  9. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
  10. }
  11. }
  12. }

我们在buildType中的任意type(包括自定义的)中输入buildConfigField语法来实现的,此方法有三个参数buildConfigField(String type,String name,String value),解释下:

String type 要创建的字段类型,如上面的String与int
String name 要创建的字段名,如上面的BASE_URL与DATE
String value 创建此字段的值,如上面的\"http://www.baidu.com/\"

但这里要注意一点就是,当创建的类型为String时,定义value的时候要注意加上字符串不能缺少的双引号"",由于参数本身要传入的类型也是String,所以我们在添加的时候加上转义字符。

Android Studio之BuildConfig类的更多相关文章

  1. [Android Studio] Android Studio中查看类的继承关系

    转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文 ...

  2. Android Studio中查看类的继承关系

    查看类的继承关系的快捷键F4.在Android Studio经常使用快捷键这篇文章中.有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置.这块功能相对偏冷一些,可能非常多人都会用不到.可是关于 ...

  3. android studio中方法和类被调用多次,但是AS显示灰色,解决办法

    Android Studio里面的一些类及方法,明明有被其他的类或者方法调用,但是去看的时候显示灰色,鼠标放上面的时候显示:Class ‘XXX’ is never used或者Method ‘XXX ...

  4. Android studio无法创建类和接口问题解决办法。提示 Unable to parse template "Class"

    重新配置了studio 的工作环境, 没问题,后来加需求要新增java类和接口,这就出现问题了,新建的时候,就会报错: Unable to parse template "Interface ...

  5. Android Studio 封装的类的继承

    有个封装好的Firebase.java文件,放到项目中直接使用就可以,这个需要继承一个AbstractFirebase类,在广告代码中,可以等到加广告的时候来加这个文件. 这个地方的继承,因为是ads ...

  6. android studio 自动序列化类插件

    https://github.com/mcharmas/android-parcelable-intellij-plugin

  7. Android开发之Eclipse与Android Studio的java类 作者版权模板

    /** * 作者:${USER} on ${DATE} ${HOUR}:${MINUTE} * * 联系QQ:986945193 * * 微博:http://weibo.com/mcxiaobing ...

  8. Android Studio 2.2 来啦

    今年的 I/O 2016 Google 放出了 Android Studio 2.2 的预览版,改进了多项功能,只不过为了保证公司项目不受影响,我一般都不安装预览版的,因为预览版意味着不稳定,可能遇到 ...

  9. 【Android Studio使用教程 7】AndroidStudio问题汇总

    FindBugs:Compiler output path for module can not be null. check your module/project settings问题原因 And ...

随机推荐

  1. Docker 入门之docker容器创建

    使用docker容器的大多数人都是因为想要隔离不同运行环境的差异,使得自己的应用能更好的移植和部署.那么我们来看看掌握docker需要掌握哪些方面. 1,搭建docker环境 2,编译镜像并将其运行成 ...

  2. 云计算时代,传统企业 IT 从业者如何做好转型?

    本文来源于国外社区 DZone,作者 Dennis O'Reilly 撰写过多篇关于云计算.混合云等内容的文章,本文内容围绕云计算时代,企业纷纷上云,传统 IT 从业者如何做好转型. 本文由“数梦工场 ...

  3. 小刘的深度学习---CNN

    前言: 前段时间我在树莓派上通过KNN,SVM等机器学习的算法实现了门派识别的项目,所用到的数据集是经典的MNIST.可能是因为手写数字与印刷体存在一些区别,识别率并是很不高.基于这样的情况,我打算在 ...

  4. SharpDevelop 笔记

    1. 下载地址: http://jaist.dl.sourceforge.net/project/sharpdevelop/ 2. 使用 VS2012 去掉编译不通过的 Test ,其它可以运行调试. ...

  5. JS以及CSS对页面的阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  6. [C#] 取得每月第一天和最後一天、某月总天数

    思路: 1. DateTime dt= DateTime.Now;  //获取当前时间 eg:2013-09-08 09:25:0 0 2. DateTime dt1 = new DateTime(d ...

  7. Notes of Daily Scrum Meeting(11.14)

    Notes of Daily Scrum Meeting(11.14) 今天是项目第三周的周五,按原计划这时我们的项目应该已经要进入尾声进行组装调试了,但由于之前放假还有队员们的 效率比较低的原因,我 ...

  8. Hibernate笔记③--集合映射、组合映射、联合主键、查询案例

    lazy 懒加载 默认为proxy   继承映射 discriminant column="type" type="string"   集合映射 生成表的语句: ...

  9. C++自学随笔

    主要学习内容: 了解了IDE环境的含义 C++与C的区别: 新的数据类型:bool型 新的初始化方法:直接初始化int x(1024) 经过查找,了解了直接初始化与复制初始化的区别:"当用于 ...

  10. Source Insight中的多行注释

    转自:http://www.cnblogs.com/dongzhiquan/archive/2013/03/04/2943448.html 我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的 ...