การสร้าง Android Studio ล้มเหลวโดยไม่พบ "งาน" ในรูทโปรเจ็กต์ "MyProject" "


91

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

FAILURE: การสร้างล้มเหลวโดยมีข้อยกเว้น

  • เกิดอะไรขึ้น: ไม่พบงาน '' ในรูทโปรเจ็กต์ 'MyProject'

  • ลอง: เรียกใช้งาน gradle เพื่อรับรายการงานที่มี รันด้วยอ็อพชัน --stacktrace เพื่อรับ stack trace รันด้วยอ็อพชัน --info หรือ --debug เพื่อรับเอาต์พุตบันทึกเพิ่มเติม

สร้างไม่สำเร็จ

นี่คือไฟล์ Gradle ของฉัน:

การตั้งค่าระดับบนสุด gradle

include ':MyProject'

build.gradle ใน MyProject:

apply plugin: 'com.android.application'

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

android {
    compileSdkVersion 20
    buildToolsVersion "20"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 20
    }
}

dependencies {
    compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
    compile 'com.nineoldandroids:library:2.4.0'
}

build.gradle ระดับบนสุดว่างเปล่า


คุณกำลังเรียกใช้คำสั่งใดแน่นอน
Opal

@Opal ฉันแค่พยายามทำความสะอาดและสร้างใหม่
TomRichardson

อืม .. โอเค คุณใช้คำสั่งอะไร?
Opal

8
ลองปิดและเปิด Android Studio อีกครั้ง มันได้ผลสำหรับฉัน
petter

2
ไม่ได้เลือกคำตอบจากหลาย ๆ คนเหล่านี้ ??? อย่างน้อยโพสต์คำตอบของคุณก็จะช่วยให้คนอื่น ๆ
kAmol

คำตอบ:


63

แม้ว่าจะตอบช้า แต่นี่เป็นเรื่องยากสำหรับ Google (คำพูดเดียว) และยังไม่ชัดเจนว่าเกิดอะไรขึ้น ฉันยังไม่มีชื่อเสียงที่จะแสดงความคิดเห็นหรือขอขอบเขต (หรือโพสต์ลิงก์ 3 ลิงก์) ดังนั้นคำตอบนี้อาจน่าเบื่อเล็กน้อย

หากต้องการตอบอย่างรวดเร็วคุณอาจมีปลั๊กอิน Gradle หลายรายการในโครงการของคุณ

ซิงโครไนซ์ Gradle Wrapper และ Plugins

ปัญหาของฉันดูเหมือนจะเริ่มต้นด้วยไฟล์ IML ที่เสียหาย Android Studio (ระหว่างปิดและเปิดโปรเจ็กต์อีกครั้ง) เริ่มบ่นว่า IML หายไป (ไม่ใช่) และควรลบโมดูลซึ่งฉันปฏิเสธ มันยังคงอยู่ฉันอัปเกรดเป็น AS 0.8.7 (ช่อง canary) และติดปัญหา OP (ไม่พบงาน '' ในโครงการรูท) สิ่งนี้ถูกบล็อกอย่างสมบูรณ์ดังนั้นฉันจึงต้องเจาะลึกไปที่ Gradle

ขั้นตอนการซ่อมแซมของฉันบน OSX (โปรดปรับสำหรับ Windows):

  1. อัปเกรด Android Studio เป็น 0.8.7
    • ค่ากำหนด | อัพเดท | เปลี่ยน "Beta Channel" เป็น "Canary Channel" จากนั้นทำการตรวจสอบทันที
    • คุณอาจข้ามสิ่งนี้ไปได้
  2. ตรวจสอบ Gradle wrapper (ปัจจุบันคือ 1.12.2 อย่าพยายามใช้ 2.0 ในขณะนี้)

    • สมมติว่าคุณไม่ต้องการรุ่นใดรุ่นหนึ่งให้ใช้การแจกจ่ายที่รองรับล่าสุด

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • สามารถตั้งค่าใน Android Studio ได้ที่ Preferences | Gradle (แต่ 0.8.7 ทำให้ฉันมีข้อผิดพลาด 'ตำแหน่งไม่ถูกต้อง')

    • 'wrapper' เป็นเพียงสำเนาของ Gradle สำหรับโครงการ Android Studio แต่ละโครงการ ช่วยให้คุณมี Gradle 2 ในระบบปฏิบัติการของคุณและเวอร์ชันต่างๆในโครงการของคุณ เอกสารนักพัฒนาซอฟต์แวร์ Android อธิบายว่าที่นี่
    • แล้วจึงปรับเปลี่ยนไฟล์ build.gradle คุณสำหรับปลั๊กอิน เวอร์ชันปลั๊กอิน Gradle ต้องเข้ากันได้กับเวอร์ชันการแจกจ่าย / Wrapper สำหรับทั้งโครงการ เนื่องจากเอกสารเครื่องมือ (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) ล้าสมัยเล็กน้อยคุณสามารถตั้งค่าเวอร์ชันปลั๊กอินต่ำเกินไป (เช่น 0.8.0) และ Android Studio จะแสดงข้อผิดพลาดกับช่วงที่ยอมรับได้สำหรับ Wrapper

ตัวอย่างใน build.gradle คุณมีปลั๊กอินนี้:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.+"
}

คุณสามารถลองเปลี่ยนเป็นเวอร์ชันที่แน่นอนได้ดังนี้:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.2"
}

และ (หลังจากบันทึกเวอร์ชันที่คุณเปลี่ยนจากในแต่ละกรณี) ตรวจสอบว่าไฟล์ build.gradle ทุกไฟล์ในโปรเจ็กต์ของคุณดึงปลั๊กอินเวอร์ชันเดียวกัน การรักษา "+" ไว้ควรใช้งานได้ (สำหรับ 0.12.0, 0.12.1, 0.12.2 ฯลฯ ) แต่งานสร้างของฉันประสบความสำเร็จเมื่อฉันอัปเดตคลัง Volley ของ Google (เดิมคือ gradle: 0.8. +) และโครงการหลักของฉัน (เดิมคือ 0.12 +) เป็นเวอร์ชันคงที่: gradle: 0.12.2

การตรวจสอบอื่น ๆ

  1. ตรวจสอบให้แน่ใจว่าคุณไม่มีโมดูลแอปพลิเคชัน Android สองโมดูลในโครงการเดียวกัน

    • สิ่งนี้อาจโต้ตอบกับโซลูชันสุดท้าย (เวอร์ชัน Gradle ที่แตกต่างกันด้านบน) และสาเหตุ

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • ในการตรวจสอบสร้าง | Make Project ไม่ควรเปิดหน้าต่างขึ้นมาเพื่อถามว่าคุณต้องการสร้างแอปพลิเคชันใด

  2. ทำให้แคชของคุณไม่ถูกต้อง
    • ไฟล์ | แคชไม่ถูกต้อง / รีสตาร์ท (stackoverflow.com/a/19223269/513413)
  3. หากขั้นตอนที่ 2 ไม่ได้ผลให้ลบ ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • ออกจาก Android Studio
    • $ rm -rf ~ / .gradle /
    • เริ่ม Android Studio จากนั้นซิงค์:
      • เครื่องมือ | Android | ซิงค์โครงการกับไฟล์ Gradle
    • ทำซ้ำตามลำดับทั้งหมดนี้ (เลิก ... ซิงค์) สองสามครั้งก่อนที่จะยอมแพ้
  4. ทำความสะอาดโครงการ
    • สร้าง | โครงการสะอาด

ถ้าคุณเห็นสิ่งนี้ ...

ในการสร้างล่าสุดของฉันฉันยังคงเห็นความล้มเหลวที่น่าสยดสยอง (หน้าข้อยกเว้น) แต่ภายในไม่กี่วินาทีข้อความจะชัดเจนสร้างสำเร็จและแอปก็ใช้งานได้ เนื่องจากฉันไม่สามารถอธิบายได้และแอปก็ใช้งานได้ฉันไม่เคยสังเกตว่าฉันมีปลั๊กอิน Gradle สองตัวในโครงการของฉัน ดังนั้นฉันคิดว่าปลั๊กอิน Gradle ต่อสู้กัน เครื่องหนึ่งขัดข้องอีกเครื่องหนึ่งเสียสภาพและรายงานข้อผิดพลาด

หากคุณมีเวลาวิดีโอ 1 ชั่วโมง "A Gentle Introduction to Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) ช่วยให้ฉันเข้าถึงไฟล์สร้าง Gradle งานการตัดสินใจสร้างและอื่น ๆ

ข้อจำกัดความรับผิดชอบ

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


คำตอบที่ดีไม่มีอะไรต้องขออภัยและขอบคุณสำหรับลิงค์ YouTube
Sabuncu

ขอบคุณสำหรับสิ่งนี้. ขั้นตอนที่ 3 ใน "การตรวจสอบอื่น ๆ " คือสิ่งที่ทำเพื่อฉัน:$ rm -rf ~/.gradle/
สตริง

24

ดาวน์โหลดอิมเมจระบบ (ของระดับ Android เป้าหมายของโครงการของคุณ) จากตัวจัดการ sdk สำหรับโครงการที่คุณนำเข้า

ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณไม่มี sdk เป้าหมายของโครงการ Android ของคุณติดตั้งในโฟลเดอร์ sdk

สำหรับเช่น ระดับ sdk เป้าหมายของโปรเจ็กต์ที่คุณนำเข้าอาจเป็น android-19 และในโฟลเดอร์ sdk-> system-images คุณอาจติดตั้ง android-21 ไว้ ดังนั้นคุณต้องดาวน์โหลดอิมเมจระบบ android-19 และไฟล์อื่น ๆ จากตัวจัดการ sdk หรือคุณสามารถคัดลอกวางได้หากคุณมีอิมเมจระบบ


1
สิ่งนี้ได้รับการแก้ไขสำหรับฉัน - ฉันสังเกตเห็นคำเตือนสีเหลือง 'Gradle project sync failed' ใน AS เมื่อฉันดูในหน้าต่างข้อความมันรวมไฮเปอร์ลิงก์เพื่อติดตั้ง SDK เป้าหมายที่หายไปด้วยการคลิกเพียงไม่กี่ครั้ง
Mr. Bungle


9

สิ่งนี้เกิดขึ้นกับฉันเมื่อไม่นานมานี้เมื่อฉันปิดโปรเจ็กต์ Android Studio หนึ่งและนำเข้าโปรเจ็กต์ Eclipse อื่น ดูเหมือนว่าจะมีข้อผิดพลาดบางอย่างใน Android Studio ซึ่งจะรักษาการตั้งค่าการไล่ระดับสีจากโปรเจ็กต์ที่เปิดไว้ก่อนหน้านี้และทำให้เกิดความสับสนในโครงการใหม่

วิธีแก้ปัญหานั้นง่ายมาก: ปิดโปรเจ็กต์และปิด Android Studio อย่างสมบูรณ์ก่อนเปิดใหม่จากนั้นจึงนำเข้า / เปิดโปรเจ็กต์ใหม่ ทุกอย่างราบรื่นต่อจากนั้น


4

วิธีแก้ไขง่ายๆสำหรับฉันคือ

  1. สร้าง> โครงการที่สะอาด
  2. รีสตาร์ท Android Studio

3

ในกรณีของฉันการตั้งค่า "เวอร์ชัน Gradle" เหมือนกับ "เวอร์ชันปลั๊กอิน Android" ในไฟล์ -> โครงสร้างโครงการ -> โครงการแก้ไขปัญหาให้ฉัน


3

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

ฉันกำลังเรียกใช้คำสั่ง build ดังนี้:

./gradlew :testapp: build

การใช้งานโดยไม่ใช้พื้นที่ช่วยแก้ไขปัญหา:

./gradlew :testapp:build

3

ฉันได้รับข้อผิดพลาดนี้เมื่อเปลี่ยนจากสาขา Git หนึ่งไปยังอีกสาขาหนึ่งจากนั้นพยายามเรียกใช้ "Clean Project" ฉันใช้ackค้นหาชื่องานและพบว่ามันอยู่ในไฟล์. img

วิธีแก้ปัญหาของฉันคือสร้างไฟล์. img ของโปรเจ็กต์ใหม่โดยคลิก (ในเมนูหลัก) เครื่องมือ> Android> ซิงค์โปรเจ็กต์กับไฟล์ Gradle ( ขอบคุณสำหรับคำตอบนี้)


2

บางครั้งหากคุณเปิด Android Studio ไว้สองหน้าต่างและเมื่อคุณพยายามรวบรวมปัญหานี้อาจเกิดขึ้น สำหรับฉันเมื่อฉันรวบรวมโมดูล Google Cloud Endpoint ที่สำรองไว้ซึ่งไม่ได้ฝังอยู่ในโปรเจ็กต์แทนที่จะแชร์ระหว่างโปรเจ็กต์ Android Studio ต่างๆและเมื่อมีการเปิดอินสแตนซ์มากกว่าหนึ่งครั้งข้อผิดพลาดนี้จะเกิดขึ้นสำหรับฉัน แต่ทันทีที่คุณปิดหน้าต่างบานอื่นทุกอย่างจะดี บางครั้งคุณอาจต้องรีสตาร์ท Android Studio ทั้งหมด


2

ฉันพบปัญหานี้เนื่องจากไม่พบเส้นทาง Android SDK ฉันไม่มีlocal.propertiesไฟล์หรือมีANDROID_HOMEตัวแปรสภาพแวดล้อมอยู่ด้วย


คนดีสิ่งเดียวกันที่นี่ เพิ่ม ANDROID_SDK ใน ~ / .bash_profile ของฉันและมันใช้งานได้
Gary O 'Donoghue


1

อีกวิธีหนึ่งสำหรับปัญหาเดียวกัน:

สิ่งนี้เกิดขึ้นกับฉันทุกครั้งที่ฉันอิมพอร์ตโปรเจ็กต์ eclipse เข้าสตูดิโอโดยใช้วิซาร์ด (เวอร์ชันสตูดิโอ 1.3.2)

สิ่งที่ฉันพบโดยบังเอิญคือการออกจาก Android Studio แล้วรีสตาร์ทสตูดิโออีกครั้งทำให้ปัญหาหมดไป

น่าผิดหวัง แต่หวังว่านี่จะช่วยใครสักคน ...


1
  1. เปิด Command Prompt
  2. จากนั้นไปที่โฟลเดอร์โครงการของคุณผ่านพรอมต์คำสั่ง
  3. พิมพ์gradlew build and run

1

ปัญหา

ฉันได้รับไฟล์ "[module_name]:prepareDebugUnitTestDependencies" task not foundข้อผิดพลาดทุกครั้งที่ฉันใช้งาน gradle build สิ่งนี้เกิดขึ้นกับฉันหลังจากอัปเดต Android Studio เป็น 3.0.0

ตรวจสอบ

ก่อนหน้านี้ฉันได้เพิ่มตัวเลือกบรรทัดคำสั่งให้กับคอมไพเลอร์ที่ใช้ gradle ซึ่งคุณสามารถพบได้ใน: File -> Settings -> Build, Execution, Deployment -> Compiler -> Command-line Optionsตัวเลือกบรรทัดคำสั่ง โดยเฉพาะอย่างยิ่งฉันได้ยกเว้นงานหลายอย่างรวมถึงงานดังกล่าวด้วย แม้ว่าจะใช้งานได้ดีในเวอร์ชันเสถียรก่อนหน้านี้ (2.3 ในขณะนั้น) ดูเหมือนว่านี่เป็นสาเหตุที่ทำให้การสร้างล้มเหลว

วิธีการแก้

นี่เป็นหนึ่งในวิธีแก้ปัญหาที่เป็นไปได้มากมาย ตรวจสอบให้แน่ใจว่าคุณมีตัวเลือกบรรทัดคำสั่งที่ถูกต้องซึ่งระบุไว้ในการตั้งค่าภายใต้: ไฟล์ -> การตั้งค่า -> สร้าง, การดำเนินการ, การปรับใช้ -> คอมไพเลอร์ -> ตัวเลือกบรรทัดคำสั่งและไม่มีตัวเลือกใดที่ทำให้เกิดปัญหานี้

ในกรณีของฉันฉันลบการยกเว้นงานนี้ (และงานอื่น ๆ ที่ดูเหมือนจะเกี่ยวข้อง) ทิ้งงานที่ไม่เกี่ยวข้องออกไปและมันก็ใช้ได้!


0

กำหนดเส้นทางของโฟลเดอร์รูทและหลังจากรันคำสั่งด้านล่าง

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial


0

ฉันลบ / เปลี่ยนชื่อ.gradleโฟลเดอร์ในc:\users\Myuser\.gradleและรีสตาร์ท Android Studio และทำงานให้ฉัน


0

เห็นได้ชัดว่าปัญหานี้เกิดจาก Android Studio ในสถานการณ์ต่างๆ แต่สาเหตุคือข้อผิดพลาดในการสร้างเมื่อนำเข้าโครงการที่มีอยู่ไปยัง android studio

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

  1. ปิดโปรเจ็กต์ปัจจุบัน
  2. ไฟล์> ใหม่> โครงการนำเข้า (ไม่ได้ใช้โครงการล่าสุดเปิด)

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

0

ในกรณีของฉันฉันพบปัญหานี้ที่รวบรวมตัวเลือกใน Android Studio คือ "stacktrace" แก้ไขstacktraceเป็น--stacktraceปัญหาได้รับการแก้ไข

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


0

ฉันได้แก้ปัญหานี้แล้วคุณเพียงแค่ต้องสร้างไฟล์ในโฟลเดอร์ Android

ไปที่โฟลเดอร์ Android

สร้างไฟล์ local.properties

จากนั้นเพิ่มรหัสนี้ในไฟล์ local.properties: -

หากคุณใช้ MacBook ให้ sdk.dir = / Users / USERNAME / Library / android / sdk

หากคุณใช้ Windows ให้ sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

หากคุณใช้ Linux ให้ใช้ sdk.dir = / home / USERNAME / Android / sdk

หากคุณต้องการทราบว่า USERNAME ระบบของคุณคืออะไรให้ใช้คำสั่งสำหรับ Mac whoami

จากนั้นเรียกใช้คำสั่ง react-native run-android อีกครั้ง

ขอบคุณ :)

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