问题:
在build.grade中自定义配置参数时,可以使用buildConfigField的方式来配置:
defaultConfig {
minSdkVersion rootProject.ext.my_minSdkVersion
targetSdkVersion rootProject.ext.my_targetSdkVersion
versionCode rootProject.ext.my_versionCode
versionName rootProject.ext.my_versionName
buildConfigField ("String","release_version","2018-03-16")//自定义参数
}
buildConfigField有三个参数,第一个参数为参数类型,第二个参数为参数名,第三个参数为参数值;
上述方式直接采用不变量来指定参数值,但是,当采用引用变量来指定配置参数值时(指定为String类型时):
buildConfigField ("String","release_version",rootProject.ext.my_release_version)
则会报错:
自动生成的BuildConfig.java 编译报错原因是gradle将类型解释为int型
解决方案:
正确的写法是:
buildConfigField ("String","release_version","\""+rootProject.ext.my_release_version+"\"")
通过转移符在变量的前后加上引号"。
最终生成的BuilConfig.java文件为:
网友评论