gradle 找不到 ID 为 'com.android.application' 的构建错误插件

gradle build error Plugin with id 'com.android.application' not found

我一直在尝试使用 gradle 构建构建我的 android 应用程序,并让它自动下载所需的依赖项和 jar 文件,我在 settings.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.android.library'

我的 build.gradle 看起来像这样

plugins {
    // Apply the application plugin to add support for building a CLI application in Java
}
repositories {
    google()
    mavenCentral()
}
dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
    implementation 'com.google.guava:guava:30.1.1-jre'
    classpath 'com.android.tools.build:gradle:7.1'
}
application {
    mainClass = 'MyProject.App'
}
tasks.named('test') {
    useJUnitPlatform()
}

当我尝试 运行 gradle 构建时,出现错误:

A problem occurred while evaluating settings 'MyProject'.
> Plugin with id 'com.android.application' not found.

我做了一些研究,互联网上的每个答案都说可能是插件版本的问题,所以我尝试使用 'com.android.tools.build:gradle' 的 4.1、4.2、7.1 和 7.0 版本来解决问题,没有用。

2022 年 4 月 2 日更新

您需要更新到最新的 gradle 版本才能解决此问题。

请确保您使用的是最新的 Android Studio

然后通过更新此依赖项

来更新您的项目级别 build.gradle
buildscript {
    repositories {
        google()
        jcenter() 
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
    }
}

它可能会显示一个弹出窗口,询问您是否允许更新gradle,请更新,它会自动下载最新的发行版,问题将得到解决。

或者您可以手动下载 gradle:

Open YourProject > gradle > wrapper > gradle-wrapper.properties and replace
distributionUrl=https\://services.gradle.org/distributions/gradle-version-number-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

重建项目或 运行 gradle 再次同步。

You are adding plugins in wrong place.

plugins are added inside build.gradle(app) and classpaths are added inside build.gradle(project).

for example, inside build.gradle(app)

apply plugin: 'com.android.application'
buildscript {
    repositories { 
     mavenCentral()
   }
    dependencies { }
}

inside build.gradle(Project)

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

保存您的应用的副本

在你的 settings.gradle

rootProject.name = 'MyProject'

在你的 build.gradle

 plugins {
     id 'java'
  }

    group 'org.example'
    version '1.0-SNAPSHOT'

    repositories {
     mavenCentral()
      google()
     }

   dependencies {
       testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
       testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
   }

  test {
     useJUnitPlatform()
   }

更改您的 gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1- 
bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

使缓存无效

并重建您的项目