錯誤:(1,0)未找到id為'com.android.application'的插件


Answers

如果您錯過添加頂級構建文件,可能會發生這種情況。

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

這是我第一次嘗試Android Studio。 我安裝了0.8.0並更新到了0.8.2。 一旦創建項目,我會收到錯誤消息:

錯誤:(1,0)未找到id為'com.android.application'的插件

C:\用戶\鮑勃\ 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()
    }
}



在我的頂級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被重新下載,錯誤不再發生。




去你的成績檔案,你可以看到這個:

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



我在使用IntelliJ IDEA 13.1.5時遇到了同樣的問題,因為我在build.gradle文件的dependencies中更改了Picasso和Retrofit版本。 我嘗試過使用許多解決方案,但沒有結果。 然後我從遠程git中克隆我的項目(在更改依賴關係之前我推送它的地方),它工作正常! 之後,我剛剛關閉了當前項目,並再次將Gradle文件中的舊項目導入到IntelliJ IDEA中,它也起作用了! 所以,我認為這是IDEA,Gradle和Android插件的交集中的奇怪錯誤。 我希望這些信息對IDEA用戶或其他人有用。




模塊應用程序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()
    }
}



其他答案不適合我,我猜在ButterKnife3.0.0 alpha5之間會發生錯誤。

但是,我發現當我註釋任何一個句子時,無論是BUtterKnife還是3.0.0 alpha5,它都能正常工作。

所以,你應該避免重複或衝突




只需確保在創建應用程序時正確地放置了http和https代理




我寫這不是為許多人提供的解決方案,但對於一些人可能犯下一個簡單的錯誤,如指定錯誤的URL從SVN導入項目 。 它旨在為那些傢伙:)

這發生在我從SVN導入項目時 - >由Studio自動提示打開項目 - >它要求Gradle位置 - > D:\ Software \ Android \ gradle-2.5 - >然後錯誤。

在不同的SVN分支中的相同項目可以很好地與我在Studio中配置的Gradle插件和Gradle配合使用。 我試著改變Android Gradle插件和Gradle,讓它在錯誤的分支上工作,沒有任何成功。

最後,我發現這是我的以下錯誤:我試圖單獨導入一個特定的應用程序,而不是導入應用程序以及相關的庫項目。 我最初用於導入的網址最後有應用程序的名稱。 一旦我刪除它,並指定包含應用程序項目及其相關項目的父目錄,一切都順利:)




Links