找不到Gradle DSL方法:'buildConfigField()函数'

fcipmucu  于 2022-11-30  发布在  其他
关注(0)|答案(5)|浏览(246)

我有一个分级错误
错误:(21,0)未找到Gradle DSL方法:'buildConfigField()'可能的原因:

<ul><li>The project 'Sunshine' may be using a version of Gradle that does not contain the method.

<a href="openGradleSettings">Gradle settings</a></li><li>The build file may be missing a Gradle plugin.

<a href="apply.gradle.plugin">Apply Gradle plugin</a></li>

我建筑.Gradle代码在这里

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.example.boxerrebellion.sunshine.app"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildTypes.each {
         it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.3.0'
}

有人知道吗?先谢谢了

zbq4xfa0

zbq4xfa01#

buildConfigField的定义如下

void buildConfigField(String type, String name, String value)

它需要一个类型、字段名和值。如果有前两个,就没有第三个。你可以在这里读到更多关于它的信息

zhte4eai

zhte4eai2#

在build.gradle代码上添加'OPEN_WEATHER_MAP_API_KEY'值

buildTypes.each {
         it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'xxxx'
    }
roqulrg3

roqulrg33#

只需在defaultConfig块中添加以下内容:

buildConfigField("String", "API_BASE_URL", "https://x.x.x.com/v2/")
8cdiaqws

8cdiaqws4#

这是一个非常烦人的 * gradle如何工作 * 问题。供参考:
buildConfigField("String", "API_BASE_URL", "https://x.x.x.com/v2/")
将导致:

有必要使用转义引号,例如:
buildConfigField("String", "API_BASE_URL", "\"https://x.x.x.com/v2/\"")

bt1cpqcv

bt1cpqcv5#

复制粘贴MyOpenWeatherAPIKey时可能缺少括号
一开始看起来

buildTypes.each {
    it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', MyOpenWeatherAPIKey
}

https://home.openweathermap.org/api_keys复制MyOpenWeatherAPIKey后,它应该像

buildTypes.each {
    it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}

相关问题