Android Studio之BuildConfig类

转自:http://blog.csdn.net/lvxiangan/article/details/71601451

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

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


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



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

[java] view plain copy
  1. Log.d("com.emp.unionpay", BuildConfig.BUILD_TYPE);  

生产包BuildConfig.BUILD_TYPE = “release”;

测试包BuildConfig.BUILD_TYPE = “debug”;


日志输出控制:

[java] view plain copy
  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文件:

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

我们在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,所以我们在添加的时候加上转义字符。





猜你喜欢

转载自blog.csdn.net/blueangle17/article/details/79526618