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("com.emp.unionpay", "I am a debug");
}
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,所以我们在添加的时候加上转义字符。
参考资料源自互联网