ข้อผิดพลาด: (1, 0) ไม่พบปลั๊กอินที่มี id 'com.android.application'


303

นี่เป็นความพยายามครั้งแรกของฉันที่ 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()
    }
}

2
ฉันได้รับปัญหานี้ แต่ทันใดนั้นฉันก็เห็นว่าระดับสูงสุดbuild.gradleถูกลบ :) ดังนั้นฉันจึงคัดลอกจากที่gitเก็บและทุกอย่างถูกต้อง
Mehdi Khademloo

สิ่งเดียวกันสำหรับฉัน build.gradle สำหรับระดับโปรเจ็กต์ของฉันถูกย้ายไปยังโฟลเดอร์เดียวกับคุณสมบัติของ wrapper ในระหว่างการรวมที่ขี้ขลาดดังนั้นจึงไม่พบที่รากที่ควรจะเป็น
RESTfulGeoffrey

คำตอบ:


446

อัปเดตคำตอบแล้ว (10 เม.ย. 2020)

Gradle ล่าสุด: 6.3

ตรวจสอบเวอร์ชัน:

  • ./gradlew -v

วิธีอัปเดต:

  • ตั้งค่า URL: ./gradlew wrapper --gradle-version=3.6.2 --distribution-type=all
  • ปรับปรุง: ./gradlew wrapper

ปลั๊กอิน Android Gradle ล่าสุด: 3.6.2

หากคุณเพิ่มข้อมูลโค้ดต่อไปนี้ที่ด้านบนของ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.6.2'
    }
}

อ่านเพิ่มเติมได้ที่นี่: https://developer.android.com/studio/build/index.htmlและเกี่ยวกับความเข้ากันได้ของรุ่นที่นี่: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradleและhttps://dl.google.com/dl/android/maven2/index.html

คำตอบเดิม

ฉันมีข้อผิดพลาดเดียวกันนี้คุณต้องแน่ใจว่าเวอร์ชั่น Gradleของคุณใช้งานร่วมกับ Android Gradle Plugin ได้

Gradle เวอร์ชั่นล่าสุดคือ2.0แต่คุณต้องใช้1.12เพื่อที่จะใช้ Android Gradle Plugin


157
+1 สำหรับยังคงอัปเดตคำตอบของคุณไม่กี่เดือนต่อมา
P1nGu1n

4
@ P1nGu1n ไม่มีปัญหา! มันง่ายกว่าถ้าทุกคนเห็นข้อมูลที่ทันสมัยที่สุด
Jared Burrows

4
@MartinPfeffer ไม่มีปัญหา ฉันจะอัปเดตสิ่งนี้ต่อไป!
Jared Burrows

12
คำตอบที่ดี แต่ฉันอดไม่ได้ที่จะสงสัยว่าทำไม Google ถึงติดตั้ง Android Studio แบบนี้ .. ข้อผิดพลาดนี้เป็นสิ่งแรกที่คุณเห็นเมื่อเริ่มต้นโครงการใหม่ ฉันหมายถึงพวกเขากำลังคิดอะไรอยู่!
BdR

10
การพัฒนา Android มีหลายสิ่งที่โง่ เหตุใดเราจึงต้องใส่ใจกับสิ่งต่าง ๆ ของรุ่นเกรเดียนต์นี้
25

32

สิ่งนี้อาจเกิดขึ้นได้หากคุณพลาดการเพิ่มไฟล์บิลด์ระดับบนสุด

เพียงเพิ่ม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
นั่นคือสิ่งที่เขามี
Jared Burrows

เนื้อหาที่มีอยู่ของไฟล์เป็นอย่างไร? เพียงลบพวกเขา?
Tom Russell

1
หากคุณกำลังทำกวดวิชา Firebase ที่คุณต้องการ classpath 'com.android.tools.build:gradle:3.2.1' และ classpath 'com.google.gms:google-services:4.0.1'
userqwert

8

ในกรณีของฉันฉันดาวน์โหลดโครงการจาก GitHub และไฟล์ Gradle หายไป ดังนั้นผมจึงเพียงแค่สร้างโครงการใหม่กับความสำเร็จในการสร้าง จากนั้นคัดลอกวางไฟล์ Gradle ที่ขาดหายไป และการสร้างโครงการใหม่นั้นใช้งานได้สำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่


วิธีนี้แก้ปัญหาของฉันหลังจากลองใช้วิธีอื่นเป็นเวลาหลายชั่วโมง
zyz82

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

ฉันพบปัญหาหลังจากหนึ่งชั่วโมงที่ดิ้นรนกับข้อความแสดงข้อผิดพลาดนี้:

ฉันเปลี่ยนชื่อรูทbuild.gradleเป็นชื่อไฟล์โดยไม่ตั้งใจbuilde.gradleดังนั้น Android Studio ไม่รู้จักอีกต่อไป

การเปลี่ยนชื่อเพื่อbuild.gradleแก้ไขปัญหา!


2

ผมเขียนนี้ไม่ได้เป็นวิธีแก้ปัญหาความหมายสำหรับหลาย ๆ คน แต่สำหรับบางคนที่อาจกระทำเป็นความผิดพลาดง่ายๆเช่นการระบุ URL ที่ไม่ถูกต้องสำหรับการนำเข้าโครงการจาก SVN มันมีไว้สำหรับพวกนั้น :)

สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันนำเข้าโครงการจาก SVN -> พรอมต์อัตโนมัติโดย Studio เพื่อเปิดโครงการ -> มันถามตำแหน่ง Gradle -> D: \ Software \ Android \ gradle-2.5 -> จากนั้นข้อผิดพลาด

โครงการเดียวกันในสาขา SVN อื่นทำงานได้ดีกับ Gradle plugin และ Gradle ที่ฉันได้กำหนดค่าไว้ใน Studio ฉันลองเปลี่ยนปลั๊กอิน Android Gradle และ Gradle เพื่อให้มันทำงานบนสาขาที่ผิดพลาดโดยไม่ประสบความสำเร็จ

ในที่สุดฉันก็พบว่ามันเป็นความผิดพลาดต่อไปนี้ของฉัน: ฉันพยายามนำเข้าแอปพลิเคชันเฉพาะอย่างเดียวแทนการนำเข้าแอปพลิเคชันพร้อมกับโครงการห้องสมุดที่ต้องพึ่งพา ในตอนแรก URL ที่ฉันใช้เพื่อนำเข้ามีชื่อของ porject ของแอปพลิเคชัน เมื่อฉันลบมันออกและระบุไดเรกทอรีหลักซึ่งมีทั้งแอปพลิเคชันโครงการและโครงการที่ขึ้นอยู่กับมันทุกอย่างราบรื่น :)


2

ฉันยังคงได้รับข้อผิดพลาด

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

ปัญหา: jcenter () ไม่มี libs ที่ต้องการ

การแก้ไข: เพิ่ม google () เป็น repo

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

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

1

คำตอบอื่น ๆ ไม่ได้ทำงานสำหรับฉันฉันคิดว่าสิ่งผิดปกติที่เกิดขึ้นระหว่างButterKnifeและ3.0.0 alpha5

อย่างไรก็ตามฉันพบว่าเมื่อฉันใส่หมายเหตุใดประโยคหนึ่งลงทั้ง BUtterKnife หรือ 3.0.0 alpha5 มันใช้งานได้ตามปกติ

ดังนั้นคุณก็ควรจะหลีกเลี่ยงความซ้ำซ้อนหรือความขัดแย้ง


เมื่อฉันใส่หมายเหตุใด ๆ หนึ่งประโยคButterKnifeหรือ3.0.0 alpha5จะใช้งานได้ตามปกติ
แลนเซอร์

โปรดสร้างคำถามใหม่แทนการตอบคำถามที่นี่
ישואוהבאותך

โปรดจำไว้ว่าการปล่อยอัลฟาทุกครั้งไม่พร้อมสำหรับการผลิต คุณต้องไม่ใช้เวอร์ชันอัลฟ่าในรหัสของคุณ
ישואוהבאותך

ขอโทษ ... ฉันแก้ไขคำถามนี้ในคอมพิวเตอร์ของฉันแล้ว แต่ฉันไม่เข้าใจว่าทำไม ....
Lancer.Yan

บางทีวิธีการนี้จะช่วยได้ คำอธิบายประกอบใด ๆ ที่จะช่วยใน Android Studio 3.0.0 alpha5
Lancer.Yan


1

สำหรับการอ้างอิงในอนาคต: สำหรับฉันปัญหานี้เกิดจากความจริงที่ว่าฉันไม่ได้ใช้ Android Studio เป็นผู้ดูแลระบบ ฉันมีทางลัดใน Windows ที่กำหนดค่าให้เรียกใช้ในฐานะผู้ดูแลระบบเสมอ แต่หลังจากติดตั้ง Android Studio ใหม่ทางลัดก็ถูกแทนที่ด้วย สิ่งนี้ทำให้เกิดข้อผิดพลาดทึบแสงจำนวนมากรวมถึงข้อผิดพลาดในคำถามนี้


0

ฉันใช้ IntelliJ IDEA 13.1.5 และประสบปัญหาเดียวกันหลังจากฉันเปลี่ยน Picasso และ Retrofit dependenciesในbuild.gradleไฟล์ ฉันพยายามใช้วิธีแก้ปัญหาต่าง ๆ แต่ไม่มีผลลัพธ์ จากนั้นฉันโคลนโครงการของฉันจาก git ระยะไกล (ที่ฉันผลักมันก่อนที่จะเปลี่ยนการอ้างอิงรุ่น) และมันใช้งานได้! หลังจากนั้นฉันเพิ่งปิดโครงการปัจจุบันและนำเข้าโครงการเก่าจากไฟล์ Gradle ไปยัง IntelliJ IDEA อีกครั้งและมันก็ใช้ได้เช่นกัน! ดังนั้นฉันคิดว่ามันเป็นข้อผิดพลาดที่แปลกในจุดตัดของปลั๊กอิน IDEA, Gradle และ Android ฉันหวังว่าข้อมูลนี้จะเป็นประโยชน์สำหรับผู้ใช้ IDEA หรือผู้อื่น


มีคำตอบทางเทคนิคที่คุณสามารถให้ตัวอย่างรหัสเฉพาะได้หรือไม่?
IgorGanapolsky

0

สิ่งนี้เพิ่งเกิดขึ้นกับฉันโดยใช้Android Studio 1.3.2อย่างไรก็ตามเนื่องจากฉันเพิ่งสร้างโครงการฉันจึงลบมันและสร้างขึ้นใหม่อีกครั้ง
ดูเหมือนว่า Android Studio จะไม่ได้ถูกสร้างขึ้นอย่างถูกต้องในครั้งแรกแม้กระทั่งโฟลเดอร์โครงการตามที่คาดไว้


รุ่น Android Studio ควรตรงกับรุ่นปลั๊กอิน
Jared Burrows

0

หากคุณรันงานโมดูลด้วยปลั๊กอิน android 1.2.3 ในไดเรกทอรีโมดูลปัญหาจะปรากฏขึ้น ลองสิ่งนี้:

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

คำสั่งนี้แฮ็คมากและ Gradle 1.2.3 เก่ามาก
Jared Burrows

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

เลขที่gradle-experimentalคือ "ทดลอง" สิ่งนี้ไม่เกี่ยวกับคำถาม
Jared Burrows

@JaredBurrows ข้อผิดพลาดในคำถามของ OP สามารถเกิดขึ้นได้กับการทดลองแบบ gradle เช่นกัน มันเกิดขึ้นกับฉันวันนี้ อย่างไรก็ตาม VladimirKulyk ควรรู้ว่าแนะนำให้ใช้ Gradle-Trial สำหรับ NDK builds เท่านั้น
IgorGanapolsky

0

ตรวจสอบให้แน่ใจว่าไฟล์ build.gradle และ settings.gradle สองไฟล์ของคุณอยู่ในไดเรกทอรีที่ถูกต้องตามที่ระบุไว้ในhttps://developer.android.com/studio/build/index.html

จากนั้นเปิด "เป็นโครงการที่มีอยู่" ใน Visual Studio

Gradle พิถีพิถันมากเกี่ยวกับเรื่องนี้


0

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้หลังจากทำการเปลี่ยนแปลงต่อไปนี้ในระดับบนสุดbuild.gradleเพื่ออัปเดตเป็น gradle เวอร์ชั่นล่าสุด:

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

ฉันทำการเปลี่ยนแปลงอย่างโง่เขลาในขณะที่ฉันกำลังเชื่อมต่อกับพร็อกซีที่ทำงานที่ไม่เป็นมิตร พร็อกซีทำให้.jarไฟล์สำหรับการไล่ระดับสีเวอร์ชันใหม่เสีย สิ่งนี้สามารถตรวจสอบได้โดยการตรวจสอบขวดเพื่อดูว่ามีขนาดผิดปกติหรือไม่หรือไม่สามารถแตกซิปได้หรือไม่

เพื่อแก้ไขข้อผิดพลาดฉันเชื่อมต่อกับเครือข่ายของฉันที่บ้าน (ซึ่งไม่ได้อยู่หลังพร็อกซี) และทำการอ้างอิงการรีเฟรชจากเทอร์มินัล:

./gradlew --refresh-dependencies

สิ่งนี้ทำให้การดาวน์โหลด gradle รุ่นที่ใหม่กว่าถูกต้องและข้อผิดพลาดจะไม่เกิดขึ้นอีก


0

สิ่งนี้อาจเกิดขึ้นเมื่อคุณมีทั้งสองไฟล์settings.gradleและsettings.gradle.ktsมีอยู่ในไดเรกทอรีรากของโครงการ (อาจมีโมดูลเดียวกันรวมอยู่ด้วย) คุณควรมีหนึ่งในไฟล์เหล่านี้


แก้ไข. สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันนำเข้าโครงการของฉันโดยตรงกับ build.gradle พบไฟล์ Gradle และคุณสมบัติที่ซ้ำกัน
Okikioluwa

0

ในไฟล์ build.gradle ระดับโปรเจ็กต์ฉันได้แทนที่บรรทัดนี้แล้ว

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

กับอันนี้

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

หลังจากเพิ่มทั้งสองบรรทัดและการซิงค์ทุกอย่างก็ดี หวังว่านี่จะช่วยใครซักคน


-1

แอปโมดูลไฟล์ 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()
    }
}

-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นั้นคุณต้องอัปเดตเกรดของคุณเป็น 2.9 และสูงกว่าสิ่งนี้สามารถทำได้โดยการเปลี่ยนdistributionUrlgradle-wrapper.properties เป็น 2.9 หรือสูงกว่าดังต่อไปนี้

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

-1

เพียงให้แน่ใจว่าคุณใส่ http และ https proxy อย่างถูกต้องเมื่อคุณสร้างแอป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.