将Android Studio升级到版本0.4.0后,我遇到了一个新错误:
我通过gradle-wrapper.properties升级到gradle 1.9
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip
并在build.gradle中升级了gradle版本
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
现在我的项目正在重建。
我为不同的productFlavors定义了一些String常量:
productFlavors {
local {
buildConfig "public static final String MY_KEY = \"\";"
}
alpha {
buildConfig "public static final String MY_KEY = \"XXXXX-XXXXX-XXX\";"
}
beta {
buildConfig "public static final String MY_KEY = \"YYYYY-YYYYY-YYY\";"
}
}
这是新错误
找不到参数的方法buildConfig() [public static final String MY_KEY =“”;] on GroupableProductFlavorDsl_Decorated {name = local,minSdkVersion = -1,targetSdkVersion = -1,renderscriptTargetApi = - 1,renderscriptSupportMode = null,renderscriptNdkMode = null,versionCode = -1,versionName = null,packageName = null,testPackageName = null,testInstrumentationRunner = null,testHandleProfiling = null,testFunctionalTest = null,signingConfig = null,resConfig = null}。
一切都在使用Android Studio 3.7
答案 0 :(得分:93)
我无法使用评论(太长时间)。 你可以在gradle 1.9中的新功能中找到它。
DSL变更:
buildConfigLine
替换为buildConfigField
:buildConfigField "boolean", "MY_FLAG", "true"
您可以在flavor或build类型中覆盖默认配置中定义的字段。参见'基本'样本。
Build Config现在还自动包含
PACKAGE_NAME
,VERSION_CODE
,VERSION_NAME
,BUILD_TYPE
,FLAVOR
以及FLAVOR_<group>
的更多常量有几种风味维度。
所以如果你有这样的一行:
buildConfig "public static final boolean MY_FLAG = true;"
您现在应该将其替换为以下内容:
buildConfigField "boolean", "MY_FLAG", "true"
在你的情况下:
buildConfigField "String" , "MY_KEY" , "\"XXXXX-XXXXX-XXX\""
更新12/09/2015:
使用新的实验插件(0.2.1),您必须使用:
buildConfigFields.with {
create() {
type = "String"
name = "MY_KEY"
value = "MY_VALUE"
}
}
答案 1 :(得分:3)
此版本引入了更改:
buildConfigField "<type>", "<name>", "<value>"
如果您有这样的一行:
buildConfig "public static final boolean FLAG = true;"
现在你必须使用:
buildConfigField "boolean", "FLAG", "true"
对于String值,您可以使用:
buildConfigField "String", "FOO", "\"foo\""
请注意: 以前的DSL专有:
buildConfigLine "<value>"
已更改为
buildConfigField "<type>", "<name>", "<value>"