Android Studio 更新 0.4.0 找不到 buildConfig() [英] Android Studio Update 0.4.0 could not find buildConfig()

查看:90
本文介绍了Android Studio 更新 0.4.0 找不到 buildConfig()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将 Android Studio 升级到 0.4.0 版本后,出现新错误:

After upgrading Android Studio to version 0.4.0 I got a new error:

我通过 gradle-wrapper.properties 升级到 gradle 1.9

I upgraded to gradle 1.9 via the gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip

并在 build.gradle 中升级了 gradle 版本

and upgraded the gradle version in build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:0.7.+'
}

现在我的项目正在重新构建.

Now my project is building again.

我为不同的 productFlavors 定义了一些字符串常量:

I have some String constants defined for different productFlavors:

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 = "";] 在 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}.

Could not find method buildConfig() for arguments [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 上运行

Everything was working with Android Studio 3.7

推荐答案

我无法使用评论(太长).您可以在 gradle 1.9 的新增功能中找到它.

I can't use the comment (too long). You can find it in the what's new in gradle 1.9.

DSL 变化:buildConfigLine 被替换为 buildConfigField:

DSL Changes: buildConfigLine is replaced by buildConfigField:

buildConfigField "boolean", "MY_FLAG", "true"

您可以覆盖在风格或构建类型中的默认配置中定义的字段.请参阅基本"示例.

You can override fields defined in default config in flavors or build types. See 'basic' sample.

构建配置现在还自动包含更多用于 PACKAGE_NAMEVERSION_CODEVERSION_NAMEBUILD_TYPEFLAVOR 以及 FLAVOR_ 如果有多个风味维度.

Build Config also now automatically contain more constants for PACKAGE_NAME, VERSION_CODE, VERSION_NAME, BUILD_TYPE, FLAVOR as well as FLAVOR_<group> if there are several flavor dimensions.

所以如果你有这样的一行:

So if you have a line like this:

buildConfig "public static final boolean MY_FLAG = true;"

您现在应该将其替换为以下内容:

You should now replace it for something like this:

buildConfigField "boolean", "MY_FLAG", "true"

就你而言:

buildConfigField "String" , "MY_KEY" ,  "\"XXXXX-XXXXX-XXX\""

更新 12/09/2015:

使用新的实验性插件 (0.2.1),您必须使用:

With the new experimental plugin (0.2.1) you have to use:

buildConfigFields.with {
                create() {
                    type = "String"
                    name = "MY_KEY"
                    value = "MY_VALUE"
                }
            }

这篇关于Android Studio 更新 0.4.0 找不到 buildConfig()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆