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):
- Tingkatkan Android Studio ke 0.8.7
- Preferensi | Pembaruan | Alihkan "Saluran Beta" ke "Saluran Canary", lalu lakukan Periksa Sekarang.
- Anda mungkin bisa melewati ini.
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
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.
- Validasi cache Anda
- File | Cache / Mulai Ulang Tidak Valid (stackoverflow.com/a/19223269/513413)
- 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.
- Bersihkan proyek
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.