https://blog.csdn.net/lvxiangan/article/details/71601451
Android Studio开发中,把一个module输出打包为jar文件,我们会发现里面多了一个BuildConfig类,但在整个开发过程中我们始终没有写过这个类,这是怎么回事呢?
原来,BuildConfig类是一个根据build.gradle配置文件自动生成的类,有点类似于R.class,生成后不能修改。它具备以下特点:
1、该类位置在applicationId(应用包名)下面,如
2、巧用BUILD_TYPE属性进行版本查看、DEBUG属性日志控制等。
- Log.d("com.emp.unionpay", BuildConfig.BUILD_TYPE);
生产包BuildConfig.BUILD_TYPE = “release”;
测试包BuildConfig.BUILD_TYPE = “debug”;
日志输出控制:
- if (BuildConfig.DEBUG) {
- 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、自定义BuildConfig类的内容
下面代码将向我们展示,如何向BuildConfig添加自己想要的一些值。修改build.gradle文件:
- android {
- buildTypes {
- debug {
- buildConfigField "String", "URL", ""http://www.baidu.com/""
- buildConfigField "int", "MONEY", "1000"
- }
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
- }
- }
- }
我们在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,所以我们在添加的时候加上转义字符。