Build Android Studio gagal dengan "Task '' yang tidak ditemukan di root project 'MyProject'.”

89

Saya mendapatkan kesalahan ini saat mencoba membangun proyek saya setelah mengganti laptop dan memperbarui ke Android Studio versi 0.8.2.

KEGAGALAN: Build gagal dengan pengecualian.

  • Apa yang salah: Tugas '' tidak ditemukan di proyek akar 'Proyek Saya'.

  • Coba: Jalankan tugas gradle untuk mendapatkan daftar tugas yang tersedia. Jalankan dengan opsi --stacktrace untuk mendapatkan pelacakan tumpukan. Jalankan dengan opsi --info atau --debug untuk mendapatkan lebih banyak keluaran log.

BUILD GAGAL

Ini file Gradle saya:

Pengaturan Tingkat Atas. Kelas

include ':MyProject'

build.gradle di 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 tingkat atas kosong

TomRichardson
sumber
Perintah apa yang sebenarnya Anda jalankan?
Opal
@Opal Saya hanya mencoba untuk membersihkan dan membangun kembali
TomRichardson
Baiklah. Perintah apa yang Anda jalankan?
Opal
8
Coba tutup dan buka kembali Android Studio. Itu berhasil untuk saya.
petter
2
Tidak ada jawaban yang dipilih di antara banyak ini ??? Setidaknya posting jawaban Anda, itu akan membantu orang lain juga.
kAmol

Jawaban:

63

Meskipun terlambat menjawab, ini sulit bagi Google (tanda kutip tunggal) dan tidak jelas apa yang terjadi. Saya belum memiliki reputasi untuk berkomentar atau meminta ruang lingkup (atau memposting 3 tautan), jadi jawaban ini mungkin sedikit membosankan.

Untuk menjawab dengan cepat, Anda mungkin memiliki beberapa plugin Gradle dalam proyek Anda.

Sinkronkan Gradle Wrapper dan Plugins

Masalah saya sepertinya dimulai dengan file IML yang rusak. Android Studio (antara menutup dan membuka kembali proyek) mulai mengeluhkan IML hilang (bukan) dan modul harus dihapus, yang saya tolak. Itu bertahan, saya meningkatkan ke AS 0.8.7 (saluran canary) dan macet pada masalah OP (Tugas '' tidak ditemukan di proyek root). Build ini sepenuhnya diblokir, jadi saya harus mempelajari Gradle.

Langkah-langkah perbaikan saya di OSX (sesuaikan untuk Windows):

  1. Tingkatkan Android Studio ke 0.8.7
    • Preferensi | Pembaruan | Alihkan "Saluran Beta" ke "Saluran Canary", lalu lakukan Periksa Sekarang.
    • Anda mungkin bisa melewati ini.
  2. Memeriksa pembungkus Gradle (saat ini 1.12.2; jangan mencoba menggunakan 2.0 saat ini).

    • Dengan asumsi Anda tidak memerlukan versi tertentu, gunakan distribusi terbaru yang didukung

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

    • Ini bisa disetel di Android Studio di Preferences | Gradle (tapi 0.8.7 memberi saya kesalahan 'lokasi tidak valid').

    • 'Wrapper' hanyalah salinan Gradle untuk setiap proyek Android Studio. Ini memungkinkan Anda untuk memiliki Gradle 2 di OS Anda, dan versi yang berbeda dalam proyek Anda. Dokumen Pengembang Android menjelaskannya di sini .
    • Kemudian sesuaikan file build.gradle Anda untuk plugin . Versi plugin Gradle harus kompatibel dengan versi distribusi / pembungkus, untuk seluruh proyek. Karena dokumentasi Alat (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) agak ketinggalan zaman, Anda dapat menyetel versi plugin terlalu rendah (seperti 0.8.0) dan Android Studio akan menampilkan kesalahan dengan rentang yang dapat diterima untuk pembungkusnya.

Contoh, di build.gradle, Anda memiliki plugin ini:

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

Anda dapat mencoba mengalihkannya ke versi yang tepat, seperti ini:

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

dan (setelah merekam versi apa yang Anda ubah dalam setiap kasus) memverifikasi bahwa setiap file build.gradle dalam proyek Anda menggunakan versi plugin yang sama. Menjaga "+" seharusnya berfungsi (untuk 0.12.0, 0.12.1, 0.12.2, dll), tetapi build saya berhasil ketika saya memperbarui library Volley Google (awalnya gradle: 0.8. +) Dan proyek utama saya (awalnya 0.12. +) ke versi tetap: gradle: 0.12.2.

Pemeriksaan lainnya

  1. Pastikan Anda tidak memiliki dua modul Aplikasi Android dalam Proyek yang sama

    • Ini mungkin berinteraksi dengan solusi akhir (versi Gradle berbeda, di atas), dan penyebabnya

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

    • Untuk memeriksa, Build | Make Project seharusnya tidak memunculkan jendela yang menanyakan aplikasi apa yang ingin Anda buat.

  2. Validasi cache Anda
    • File | Cache / Mulai Ulang Tidak Valid (stackoverflow.com/a/19223269/513413)
  3. Jika langkah 2 tidak berhasil, hapus ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • Keluar dari Android Studio
    • $ rm -rf ~ / .gradle /
    • Mulai Android Studio, lalu sinkronkan:
      • Alat | Android | Sinkronkan Proyek dengan File Gradle
    • Ulangi seluruh urutan ini (berhenti ... sinkronkan) beberapa kali sebelum menyerah.
  4. Bersihkan proyek
    • Bangun | Proyek Bersih

Jika Anda Melihat Ini ...

Dalam build saya baru-baru ini, saya terus melihat kegagalan yang mengerikan (halaman pengecualian) tetapi dalam beberapa detik pesan akan dihapus, build berhasil, dan aplikasi diterapkan. Karena saya tidak pernah bisa menjelaskannya dan aplikasi berfungsi, saya tidak pernah menyadari bahwa saya memiliki dua plugin Gradle dalam proyek saya. Jadi saya pikir plugin Gradle saling bertarung; satu crash, yang lain kehilangan statusnya dan melaporkan kesalahan tersebut.

Jika Anda punya waktu, video 1 jam "A Gentle Introduction to Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) benar-benar membantu saya mendekati file build Gradle, tugas, keputusan build, dll.

Penolakan

Saya mempelajari seluruh tumpukan ini, di OS asing, setelah bekerja di karier yang berbeda ... semua pada saat yang sama dan di bawah tekanan. Dalam beberapa bulan terakhir saya telah mencapai setiap dinding yang menurut saya dimiliki Android; Saya sudah cukup sering ke sini dan ini adalah posting pertama saya. Saya pikir ini adalah perbaikan yang sulit, jadi saya dengan tulus meminta maaf jika kualitas jawaban saya mencerminkan kesulitan yang saya alami untuk mendapatkannya.

ǝɲǝɲbρɯͽ
sumber
Jawaban yang bagus, tidak ada permintaan maaf, dan terima kasih untuk tautan YouTube
Sabuncu
Terima kasih untuk ini. Langkah 3 dalam "Pemeriksaan Lainnya" adalah yang berhasil untuk saya:$ rm -rf ~/.gradle/
String
24

Download image sistem (dari level android yang ditargetkan proyek Anda) dari sdk manager untuk proyek yang telah Anda impor.

Kesalahan ini terjadi jika Anda tidak memasang sdk target proyek android Anda di folder sdk

untuk mis. Level sdk target project yang diimpor mungkin android-19 dan pada folder sdk-> system-image Anda mungkin sudah menginstal android-21. jadi Anda harus mengunduh image sistem android-19 dan file lainnya dari sdk manager atau Anda dapat menyalinnya jika Anda memiliki image sistem.

Ankit Bansal
sumber
1
Ini memperbaikinya untuk saya - Saya juga melihat peringatan kuning 'Sinkronisasi proyek Gradle gagal' di AS, ketika saya melihat di jendela Pesan, itu termasuk hyperlink untuk menginstal SDK target yang hilang dengan beberapa klik.
Tuan Bungle
13

Menghapus:

<facet type="android" name="Android">
    <configuration />
</facet>

di file iml Anda. Itu berhasil untuk saya.

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe

toni
sumber
Ini tidak berlaku untuk proyek Gradle, bukan? Saya project.xml mengandung<facet type="java-gradle" name="Java-Gradle">...
Trinimon
9

Ini terjadi pada saya baru-baru ini ketika saya menutup satu proyek Android Studio dan mengimpor proyek Eclipse lainnya. Tampaknya ada beberapa bug di Android Studio yang mempertahankan beberapa pengaturan gradle dari proyek yang sebelumnya dibuka dan kemudian menjadi bingung dalam proyek baru.

Solusinya sangat sederhana: Tutup proyek dan matikan Android Studio sepenuhnya, sebelum membukanya kembali dan kemudian impor / buka proyek baru. Semuanya berjalan lancar sejak saat itu.

rehan
sumber
4

Perbaikan sederhana bagi saya adalah

  1. Bangun> Proyek bersih
  2. Mulai ulang Android Studio
holangun
sumber
3

Dalam kasus saya, menyetel 'Gradle version' sama dengan 'Android Plugin version' di bawah File-> Project Structure-> Project telah memperbaiki masalah saya.

seseorang
sumber
3

Ternyata kesalahan ini memiliki banyak penyebab. Inilah yang memperbaikinya untuk saya.

Saya menjalankan perintah build seperti ini:

./gradlew :testapp: build

Menjalankannya tanpa ruang memperbaiki masalah:

./gradlew :testapp:build
David
sumber
3

Saya mendapat kesalahan ini saat beralih dari satu cabang Git ke yang lain, dan kemudian mencoba menjalankan "Proyek Bersih". Saya duluack mencari nama Tugas, dan menemukannya dalam file .iml.

Solusi saya adalah membuat ulang file .iml proyek dengan mengklik (di menu utama) Alat> Android> Sinkronkan Proyek dengan File Gradle. ( Terima kasih atas jawaban ini .)

Josh
sumber
2

Terkadang, jika Anda membuka dua jendela Android Studio, dan saat Anda mencoba mengompilasi, masalah ini mungkin terjadi. Bagi saya, ketika saya mengompilasi modul Google Cloud Endpoint yang didukung yang tidak disematkan dalam sebuah proyek, melainkan dibagikan di antara berbagai proyek Android Studio, dan ketika ada lebih dari satu contoh yang terbuka, kesalahan ini muncul untuk saya. Tetapi begitu Anda menutup jendela lain, semuanya akan baik-baik saja. Terkadang, Anda mungkin harus memulai ulang Android Studio sama sekali.

Mohammed Mukhtar
sumber
2

Saya mendapat masalah ini karena tidak dapat menemukan jalur SDK Android. Saya kehilangan local.propertiesfile dengannya atau ANDROID_HOMEvariabel lingkungan dengannya.

Morten Holmgaard
sumber
orang baik, hal yang sama di sini. Menambahkan ANDROID_SDK ke ~ / .bash_profile saya dan berhasil
Gary O 'Donoghue
1

Pastikan Anda memiliki nilai terbaru dalam file gradle Anda. Pada tulisan ini:

  • buildToolsVersion "21.1.2"

  • dependensi {classpath 'com.android.tools.build:gradle:1.1.0'}

IgorGanapolsky
sumber
1

Solusi lain untuk masalah yang sama:

Ini terjadi pada saya setiap kali saya mengimpor proyek gerhana ke studio menggunakan wizard (versi studio 1.3.2).

Apa yang saya temukan, secara kebetulan, adalah bahwa keluar dari studio Android dan kemudian memulai ulang studio lagi membuat masalah hilang.

Membuat frustrasi, tapi semoga ini membantu seseorang ...

Mick
sumber
1
  1. Buka Command Prompt
  2. lalu buka folder proyek Anda melalui Command prompt
  3. Ketik gradlew build and run
Krishan
sumber
1

Masalah

Saya secara khusus mendapatkan file "[module_name]:prepareDebugUnitTestDependencies" task not found kesalahan, setiap kali saya menjalankan build gradle. Ini terjadi pada saya setelah memperbarui Android Studio saya ke 3.0.0.

Penyelidikan

Saya sebelumnya telah menambahkan opsi baris perintah ke kompiler berbasis gradle, yang dapat Anda temukan di bawah: File -> Settings -> Build, Execution, Deployment -> Compiler -> Command-line Options . Secara khusus, saya telah mengecualikan sejumlah tugas, termasuk tugas yang disebutkan di atas. Sementara itu berfungsi dengan baik pada versi stabil sebelumnya (2.3 pada waktu itu), sepertinya inilah alasan di balik kegagalan build.

Larutan

Ini adalah salah satu dari banyak solusi yang mungkin. Pastikan Anda memiliki opsi baris perintah yang benar yang ditentukan dalam pengaturan di bawah: File -> Settings -> Build, Execution, Deployment -> Compiler -> Command-line Options , dan tidak ada yang menyebabkan masalah ini.

Dalam kasus saya, saya menghapus pengecualian tugas ini (dan tugas lain yang tampaknya terkait), membiarkan tugas yang tidak terkait dikecualikan, dan berhasil!

Kartu as
sumber
0

Atur jalur folder root dan setelah menjalankan perintah di bawah ini

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

Inilah yang saya lakukan

  1. Hapus folder .idea

    $ mv .idea .idea.bak

  2. Impor proyek lagi

Ken Ratanachai S.
sumber
0

Saya menghapus / mengganti nama .gradlefolder di c:\users\Myuser\.gradledan memulai ulang Android Studio dan bekerja untuk saya

ashkufaraz
sumber
0

Rupanya masalah ini disebabkan oleh Android Studio pada berbagai situasi tetapi alasannya adalah kesalahan build saat mengimpor proyek yang ada ke android studio.

Dalam kasus saya, saya telah mengimpor proyek saya yang ada di mana saya seharusnya menginstal beberapa alat pembangunan kemudian akhirnya membangun konfigurasi selesai dengan kesalahan. Dalam hal ini, lakukan saja hal-hal berikut

  1. Tutup proyek saat ini
  2. File> New> Import Project (Jangan gunakan proyek terbaru yang terbuka)

    Catatan: Saya yakin jenis kesalahan ini tidak ada pada kode sumber ketika ini terjadi pada proyek Impor .
Deva
sumber
0

Dalam kasus saya, saya menemui masalah ini bahwa opsi kompilasi di Android Studio adalah "stacktrace." Ubah stacktrace menjadi --stacktrace , masalah telah terpecahkan.

masukkan deskripsi gambar di sini

timyau
sumber
0

Saya telah memecahkan masalah ini Anda hanya perlu Membuat file di Folder Android

Buka folder android

Buat file local.properties

lalu tambahkan saja kode ini di file local.properties: -

Jika Anda menggunakan MacBook maka sdk.dir = / Users / USERNAME / Library / android / sdk

jika Anda menggunakan Windows maka sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

jika Anda menggunakan Linux maka sdk.dir = / home / USERNAME / Android / sdk

jika Anda ingin tahu apa USERNAME sistem Anda maka gunakan saja perintah untuk Mac whoami

dan kemudian jalankan kembali perintah react-native run-android

Terima kasih :)

Pengembang Usman
sumber