错误:(1, 0) 找不到 id 为“com.android.application”的插件

Error:(1, 0) Plugin with id 'com.android.application' not found

提问人:Bob Kusik 提问时间:7/17/2014 最后编辑:Ovidiu UşvatBob Kusik 更新时间:1/30/2023 访问量:528293

问:

这是我第一次尝试 Android Studio。我安装了 0.8.0 并更新到 0.8.2。创建项目后,我收到错误消息:

错误:(1, 0) 找不到 id 为“com.android.application”的插件

C:\Users\Bob\AndroidStudioProjects\HelloAgain6\app\build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.bob.helloagain6"
        minSdkVersion 15
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

和 C:\Users\Bob\AndroidStudioProjects\HelloAgain6\build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
android flutter gradle android-gradle-plugin

评论

2赞 Mehdi Khademloo 10/8/2016
我遇到了这个问题,但突然我看到顶层被删除了:),所以我从存储库中复制了它,一切都很顺利build.gradlegit
0赞 RESTfulGeoffrey 5/8/2020
对我来说也是一样,在时髦的合并期间,我的项目级别的build.gradle被移动到与包装器属性相同的文件夹中,因此它没有在它应该在的根目录中找到它
0赞 Ovidiu Uşvat 1/26/2023
对于 #FLUTTER 项目,解决方案是在目录中运行./gradlew wrapperandroid

答:

491赞 Jared Burrows 8/11/2014 #1

更新答复(2020年12月2日)

最新评分:6.5

版本检查:

  • ./gradlew -v

如何更新:

  • 设置 URL:./gradlew wrapper --gradle-version=6.5 --distribution-type=all
  • 更新:./gradlew wrapper

最新的 Android Gradle 插件:4.1.0

如果将以下代码片段添加到文件顶部。Gradle 将更新构建工具。build.gradle

buildscript {
    repositories {
        google() // For Gradle 4.0+
        maven { url 'https://maven.google.com' } // For Gradle < 4.0
    }

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

在此处阅读更多内容:https://developer.android.com/studio/build/index.html 和有关版本兼容性的信息:https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradlehttps://dl.google.com/dl/android/maven2/index.html

原始答案

我遇到了同样的错误,您需要确保您的 Gradle 版本与您的 Android Gradle 插件兼容。

Gradle 的最新版本是 2.0,但您需要使用 1.12 才能使用 Android Gradle 插件。

评论

189赞 P1nGu1n 10/31/2014
+1 表示几个月后仍在更新您的答案
4赞 Jared Burrows 10/31/2014
@P1nGu1n 没问题!如果每个人都能看到最新的信息,那就更容易了。
4赞 Jared Burrows 12/29/2014
@MartinPfeffer 没问题。我将继续保持更新!
13赞 BdR 3/27/2015
很好的答案,虽然我不禁想知道为什么谷歌会像这样部署Android Studio。此错误是您在启动新项目时看到的第一件事。我的意思是,他们在想什么!?
16赞 user25 8/6/2016
Android开发有很多愚蠢的事情。为什么我们应该为所有这些 gradle 版本的事情而烦恼
37赞 Ash 10/20/2014 #2

如果您错过了添加顶级构建文件,则可能会发生这种情况。

只需将 build.gradle 添加到顶层即可。

它应该看起来像这样

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.xx.y'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

评论

3赞 Jared Burrows 3/20/2015
这正是他所拥有的。
0赞 Tom Russell 8/8/2018
文件的现有内容如何?只是删除它们?
1赞 userqwert 12/31/2018
如果你正在做 firebase 教程,你需要和classpath 'com.android.tools.build:gradle:3.2.1'classpath 'com.google.gms:google-services:4.0.1'
1赞 John Smith 11/7/2014 #3

我正在使用 IntelliJ IDEA 13.1.5,在我更改了文件中的 Picasso 和 Retrofit 版本后遇到了同样的问题。我尝试使用许多解决方案,但没有结果。 然后我从远程 git 克隆了我的项目(我在更改依赖项版本之前推送了它),它起作用了!之后,我刚刚关闭了当前项目并再次将旧项目从 Gradle 文件导入到 IntelliJ IDEA,它也起作用了!所以,我认为这是 IDEA、Gradle 和 Android 插件交叉的奇怪错误。我希望这些信息对 IDEA 用户或其他任何人都有用。dependenciesbuild.gradle

评论

0赞 IgorGanapolsky 7/29/2016
你可以用一个具体的代码示例给出一个技术答案吗?
5赞 Henadzi Rabkin 11/25/2014 #4

root-gradle 文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:x.x.x'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Gradle-wrapper.properties 文件:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip
0赞 Edison Spencer 9/9/2015 #5

这刚刚发生在我身上 使用 Android Studio 1.3.2,但是,由于我刚刚创建了该项目,因此我删除了它并重新创建它。
Android Studio 似乎第一次没有正确创建它,甚至没有按预期创建项目文件夹。

评论

0赞 Jared Burrows 3/9/2016
Android Studio 版本应与插件版本匹配。
2赞 garnet 2/29/2016 #6

我写这篇文章不是为了给许多人一个解决方案,而是为一些人准备的,他们可能会犯一个简单的错误,比如为从 SVN 导入项目指定了错误的 url。它是为那些:)的人准备的

当我从SVN导入项目时,这发生在我身上 -> Studio自动提示打开项目 ->它要求Gradle位置-> D:\Software\Android\gradle-2.5 ->然后出错。

不同 SVN 分支中的同一项目可以很好地与我在 Studio 中配置的 Gradle 插件和 Gradle 配合使用。我尝试更改 Android Gradle 插件和 Gradle 以使其在错误的分支上工作,但没有任何成功。

最后,我发现这是我的以下错误: 我尝试单独导入特定的应用程序,而不是将应用程序与依赖库项目一起导入。 我最初用于导入的 url 末尾有 Application porject 的名称。一旦我删除了它,并指定了包含应用程序项目及其依赖项目的父目录,一切都很顺利:)

-1赞 Mansuu.... 3/17/2016 #7

模块应用 build.gradle 文件

apply plugin: 'com.android.application'

model{


    android {
        compileSdkVersion 23
        buildToolsVersion  "23.0.2"

        defaultConfig.with {
            applicationId "com.iamsafe"
            minSdkVersion 15
            targetSdkVersion 23





        }
     buildTypes {
            debug {
                minifyEnabled = false
                useProguard = true
                proguardFiles.add(file('proguard-rules.txt'))


            }
        }



    }

}



dependencies {
    compile 'com.android.support:support-v4:23.0.2'
    compile files('libs/asmack-android-8-0.8.10.jar')
    compile files('libs/commons-io-2.0.1.jar')
    compile files('libs/httpclient-osgi-4.2.1-sources.jar')
    compile files('libs/httpcore-4.3.2.jar')
    compile files('libs/httpmime-4.1.2.jar')
}


project build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.10'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
0赞 Victor Choy 4/12/2016 #8

如果您在模块目录中使用 android 插件 1.2.3 运行模块任务,则会出现问题。试试这个:

../gradlew -b ../build.gradle  -c ../settings.gradle  :module:xxx

评论

1赞 Jared Burrows 4/14/2016
这个命令非常笨拙,而且 Gradle 1.2.3 非常古老。
1赞 Volodymyr Kulyk 5/16/2016 #9

转到您的成绩文件,您可以在其中看到以下内容:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

并更改为:classpath

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
//        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

评论

0赞 Jared Burrows 5/22/2016
不。 是“实验性的”。这与问题无关。gradle-experimental
0赞 IgorGanapolsky 7/29/2016
@JaredBurrows OP 问题中的错误也可能发生在 gradle-experimental 中。它今天发生在我身上。但是,VladimirKulyk 应该知道,仅建议在 NDK 构建中使用 gradle-experimental。
-1赞 maruti060385 5/31/2016 #10

在这种情况下,请检查以下代码

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

并在您的项目目录中检查以下内容:gradle-wrapper.propertiesdisctributionUrl

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

如果这些彼此不兼容,那么您最终会遇到此问题。

对于您需要至少 2.8 的版本,但如果您切换到更高版本,则需要将 gradle 更新到 2.9 及更高版本,这可以通过将 gradle-wrapper.properties 更改为 2.9 或更高版本来完成,如下所示com.android.tools.build:gradle:1.5.com.android.tools.build:gradle:2.1.0distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
1赞 Tom Chalker 12/28/2016 #11

确保您的两个 build.gradle 和 settings.gradle 文件位于正确的目录中,如 https://developer.android.com/studio/build/index.html 中所述

然后在 Visual Studio 中打开“作为现有项目”

Gradle 对此非常挑剔。

2赞 Lorenzo Barbagli 5/28/2017 #12

在与此错误消息作斗争一小时后,我发现了问题:

我不小心将根重命名为 filename in ,因此 Android Studio 无法再识别它。build.gradlebuilde.gradle

重命名它以解决问题!build.gradle

0赞 David Rawson 6/12/2017 #13

在我的顶级中进行以下更改以更新到最新版本的 gradle 后,我收到了此错误消息:build.gradle

//classpath 'com.android.tools.build:gradle:2.3.2' old
classpath 'com.android.tools.build:gradle:2.3.3' //new

我愚蠢地做出了改变,而我却在一个充满敌意的工作场所代理后面建立了联系。代理导致新版本 gradle 的文件损坏。这可以通过检查罐子来验证,看看它们的大小是否异常,或者是否可以解开拉链。.jar

为了修复这个错误,我连接到了我家里的网络(不在代理后面),并从终端刷新了依赖项:

./gradlew --refresh-dependencies

这导致重新下载较新版本的 gradle,并且不再出现错误。

1赞 Lancer.Yan 7/10/2017 #14

其他答案对我不起作用,我想 ButterKnife3.0.0 alpha5 之间发生了一些问题。

但是,我发现当我注释任何一个句子时,无论是 BUtterKnife 还是 3.0.0 alpha5,它都可以正常工作。

因此,您应该避免重复或冲突

评论

0赞 Lancer.Yan 7/10/2017
当我注释任何一个句子时,无论是 ButterKnife 还是 3.0.0 alpha5 ,它都可以正常工作。
0赞 ישו אוהב אותך 7/10/2017
请提出一个新问题,而不是在这里回答一个问题。
0赞 ישו אוהב אותך 7/10/2017
请记住,每个 alpha 版本都尚未准备好投入生产。您不得在代码中使用 alpha 版本。
0赞 Lancer.Yan 7/10/2017
不好意思。。。我在电脑上解决了这个问题,但我不明白为什么......
0赞 Lancer.Yan 7/10/2017
也许这种非常规的方法会有所帮助.注释的任何人都将在 Android Studio 3.0.0 alpha5 中有所帮助。
2赞 Simon Fakir 11/1/2017 #15

我仍然收到错误

 Could not find com.android.tools.build:gradle:3.0.0.

问题:jcenter() 没有所需的库

解决方案:添加 google() 作为存储库

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

        classpath "com.android.tools.build:gradle:3.0.0"
    }
}
-3赞 Diogo Miranda 12/21/2017 #16

只需确保在创建应用程序时正确放置 http 和 https 代理即可

0赞 k4dima 3/14/2018 #17

检查拼写,我的是“com.android.aplication”

14赞 Md Imran Choudhury 9/23/2018 #18

就我而言,我从 GitHub 下载了项目,但 Gradle 文件丢失了。因此,我只是创建一个具有成功构建的新项目。然后复制粘贴 Gradle 丢失的文件。重建项目对我有用。

enter image description here

评论

0赞 zyz82 10/24/2019
在尝试了几个小时的其他方法后,这解决了我的问题
0赞 nyxee 10/23/2020
从何处复制文件。我还有一个缺少的 gradle 文件,但就我而言,它是 app 目录中的那个
0赞 Igor 2/13/2019 #19

当您同时拥有两者并且文件存在于项目根目录中(可能包含相同的模块)时,也可能发生这种情况。您应该只有其中一个文件。settings.gradlesettings.gradle.kts

评论

0赞 Okikioluwa 1/3/2020
正确。当我直接使用 build.gradle 导入我的项目时,发现重复的 Gradle 和属性文件时,这发生在我身上
1赞 Wouter Florijn 8/14/2019 #20

供将来参考:对我来说,这个问题完全是由于我没有以管理员身份运行 Android Studio 造成的。我在 Windows 上将快捷方式配置为始终以管理员身份运行,但在重新安装 Android Studio 后,快捷方式被替换,因此它在没有管理员权限的情况下运行。这导致了许多不透明的错误,包括这个问题中的错误。

3赞 codersaif 5/7/2020 #21

在项目级别的build.gradle文件中,我替换了这一行

classpath 'com.android.tools.build:gradle:3.6.3'

有了这个

classpath 'com.google.gms:google-services:4.3.3'

添加这两条线并同步后,一切都变得很好。 希望这会对某人有所帮助。

-1赞 Топчик 9/16/2020 #22

如果您在 Windows 上工作,则必须通过管理员启动 Android Studio 名称。 它解决了我的问题

1赞 Nathan Getachew 2/8/2021 #23

当我不小心重命名该行时,发生了此问题

apply plugin: 'com.android.application'

在文件上到其他名称。所以,我通过把它改成原来的样子来修复它。app/build.gradle

0赞 Madhavarao Kulkarni 3/4/2021 #24

我遇到了类似的问题,我做了以下事情来解决它。 在应用插件行之前,我参考了 https://developer.android.com/studio/build 并复制/粘贴了以下几行

repositories {
    google()
    jcenter()
}

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

}

评论

0赞 Raulp 5/18/2023
jcenter 现在已经过时了
1赞 A v o c a d o 3/9/2021 #25

[FOR FLUTTER] 转到您的构建 Gradle,然后检查您是否有三条路径

dependencies {
    classpath 'com.android.tools.build:gradle:3.5.0'
    classpath 'com.google.gms:google-services:4.3.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

我以某种方式删除了android工具类路径并收到错误。