错误:(1,0)带有id' com.android.application'的插件未找到

时间:2014-07-17 04:48:50

标签: android gradle android-gradle

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

  

错误:(1,0)带有id' com.android.application'的插件找不到

C:\ Users \用户鲍勃\ AndroidStudioProjects \ HelloAgain6 \应用\的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()
    }
}

24 个答案:

答案 0 :(得分:411)

更新的答案(2019年1月15日)

最新Gradle: 5.1.1

版本检查:

  • ./gradlew -v

如何更新:

  • 设置网址:./gradlew wrapper --gradle-version=5.1.1 --distribution-type=all
  • 更新:./gradlew wrapper

最新的Android Gradle插件: 3.3.0

如果您将以下代码段添加到build.gradle文件的顶部。 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:3.3.0'
    }
}

在此处阅读更多内容:https://developer.android.com/studio/build/index.html以及版权兼容性:https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle

原始答案

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

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

答案 1 :(得分:26)

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

只需将 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()
    }
}

答案 2 :(得分:3)

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

答案 3 :(得分:2)

我写这篇文章不是针对很多人的解决方案,而是针对 一些可能犯了一个简单错误的人,比如指定从SVN导入项目的错误网址 。它适用于那些人:)

当我从SVN导入项目时发生这种情况 - &gt; Studio自动提示打开项目 - &gt;它要求Gradle位置 - &gt; D:\ Software \ Android \ gradle-2.5 - &gt;然后是错误。

不同SVN分支中的同一项目与我在Studio中配置的Gradle插件和Gradle一起正常工作。我尝试更改Android Gradle插件和Gradle以使其在错误的分支上工作而没有任何成功。

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

答案 4 :(得分:2)

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

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

与此一起

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

在添加了这两行并进行同步之后,一切都变好了。 希望这会对某人有所帮助。

答案 5 :(得分:2)

我在一小时后遇到此错误消息时发现问题:

我意外地将根build.gradle重命名为builde.gradle中的文件名,因此Android Studio再也无法识别它。

将其重命名为build.gradle解决了问题!

答案 6 :(得分:2)

我仍然收到错误

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

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

解决方案:将google()添加为repo

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

        classpath "com.android.tools.build:gradle:3.0.0"
    }
}

答案 7 :(得分:1)

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

enter image description here

答案 8 :(得分:1)

检查拼写,我的是'com.android.a p lication'

答案 9 :(得分:1)

其他答案对我没有用,我想在 ButterKnife 3.0.0 alpha5 之间会出现问题。

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

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

答案 10 :(得分:0)

[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 工具类路径并收到错误。

答案 11 :(得分:0)

当我不小心重命名线路时发生了这个问题

apply plugin: 'com.android.application'

将文件 app/build.gradle 改为其他名称。所以,我把它改成了原来的样子。

答案 12 :(得分:0)

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

答案 13 :(得分:0)

当项目根目录中同时存在settings.gradlesettings.gradle.kts文件时,也可能会发生这种情况(可能包含相同的模块)。您应该只有这些文件之一。

答案 14 :(得分:0)

在我的顶级build.gradle进行以下更改后,我收到此错误消息,以更新为最新版本的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并且不再出现错误。

答案 15 :(得分:0)

确保您的两个build.gradle和settings.gradle文件位于https://developer.android.com/studio/build/index.html

中所述的正确目录中

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

Gradle对此非常挑剔。

答案 16 :(得分:0)

转到您的成绩档案,您可以看到:

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
    }
}

答案 17 :(得分:0)

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

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

答案 18 :(得分:0)

这恰好发生在使用 Android Studio 1.3.2 的情况下,但是,因为我刚刚创建了项目,所以我将其删除并再次创建。
它似乎第一次没有被Android Studio正确创建,甚至没有按预期的项目文件夹。

答案 19 :(得分:0)

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

答案 20 :(得分:-1)

确保在创建应用时正确放置http和https代理

答案 21 :(得分:-1)

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

dependencies {
    classpath 'com.android.tools.build:gradle:**1.5.0**'
}
项目目录中的

gradle-wrapper.properties检查disctributionUrl下方:

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

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

对于com.android.tools.build:gradle:1.5.,您需要的版本至少为2.8,但如果您切换到更高版本(如com.android.tools.build:gradle:2.1.0),那么您需要将您的gradle更新为2.9及更高版本,这可以通过更改{{1在gradle-wrapper.properties中为2.9或更高,如下所示

distributionUrl

答案 22 :(得分:-1)

模块app 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()
    }
}

答案 23 :(得分:-1)

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