📜  无法为 org.gradle.api.Project 类型的项目“:app”获取未知属性“android”-无论(1)

📅  最后修改于: 2023-12-03 15:40:06.725000             🧑  作者: Mango

问题描述

在执行Gradle构建时,可能会出现如下错误提示:

无法为 org.gradle.api.Project 类型的项目“:app”获取未知属性“android”-无论
问题原因

该错误提示表示在app模块的Gradle文件中存在一个未知的属性android,Gradle无法识别该属性导致构建失败。

可能的原因是app模块的Gradle文件中Android插件版本过低或者Gradle版本过低。

解决方案

以下是可能的解决方案:

1.检查Gradle插件版本是否为3.0.0及以上,检查Gradle版本是否为4.1及以上,如果版本过低则需要升级。

buildscript {
    ...
    dependencies {
        // 使用3.0.0及以上版本的Android插件
        classpath 'com.android.tools.build:gradle:3.0.0'
        ...
    }
    ...
}
...
// 使用4.1及以上版本的Gradle
task clean(type: Delete) {
    delete rootProject.buildDir
}

2.检查是否存在错误的Gradle配置,比如在dependencies中使用了错误的配置方式。

dependencies {
    // 错误的配置方式
    implementation 'com.android.support:appcompat-v7:27.1.+'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
}

正确的配置方式应该是:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
}

3.检查是否在Gradle文件中使用了不正确的语法。

// 错误的语法
defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 21
    targetSdkVersion 26
    versionName "1.0"
    android.versionCode="1"
}

正确的语法应该是:

defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 21
    targetSdkVersion 26
    versionName "1.0"
    versionCode 1
}

通过以上方案,应该会解决该问题并成功构建项目。

结论

在进行Gradle构建时,一定要检查Gradle版本及Android插件版本是否正确,并且保证Gradle文件的语法正确,这样才能构建成功。