Хоча пізно відповісти, це важко для Google (окремі цитати), і незрозуміло, що відбувається. У мене ще немає репутації, щоб коментувати або просити про сферу дії (або розміщувати 3 посилання), тому ця відповідь може бути трохи нудною.
Щоб швидко відповісти, у вашому проекті може бути кілька плагінів Gradle.
Синхронізуйте Gradle Wrapper та плагіни
Моя проблема, здається, почалася з пошкодженого файлу IML. Android Studio (між закриттям та повторним відкриттям проекту) почав скаржитися, що IML зник (його не було), і модуль слід видалити, що я відхилив. Це зберігалося, я перейшов на AS 0.8.7 (канарський канал) і застряг у питанні OP (Завдання `` не знайдено в кореневому проекті). Це повністю заблокувало збірки, тому мені довелося копатись у Gradle.
Мої кроки відновлення на OSX (будь-ласка, налаштуйте для Windows):
- Оновіть Android Studio до версії 0.8.7
- Преференції | Оновлення | Переключіть "Бета-канал" на "Канарський канал", а потім зробіть перевірку зараз.
- Можливо, ви зможете пропустити це.
Перевірив обгортку Gradle (на даний момент 1.12.2; наразі не намагайтеся використовувати 2.0).
Припускаючи, що вам не потрібна певна версія, використовуйте останню підтримувану версію дистрибутива
$ vi ~/project/gradle-wrapper.properties
...
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
Це можна встановити в Android Studio на сторінці Налаштування | Gradle (але 0.8.7 видавав мені помилки "недійсне розташування").
- "Обгортка" - це лише копія Gradle для кожного проекту Android Studio. Це дозволяє вам мати Gradle 2 у вашій ОС та різні версії у ваших проектах. Документи розробника Android пояснюють це тут .
- Потім налаштуйте свої файли build.gradle для плагіна . Версія плагіна Gradle повинна бути сумісною з версією розповсюдження / обгортки для всього проекту. Оскільки документація щодо Інструментів (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) трохи застаріла, ви можете встановити версію плагіна занадто низькою (наприклад, 0.8.0) і Android Studio видасть помилку з допустимим діапазоном для обгортки.
Наприклад, у 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 тощо), але моя збірка вдалася, коли я оновив бібліотеку Google Volley (спочатку gradle: 0.8. +) Та мій основний проект (спочатку 0.12. +) до фіксованої версії: gradle: 0.12.2.
Інші перевірки
Переконайтеся, що у вас немає двох модулів програми Android для одного проекту
Це може взаємодіяти з остаточним рішенням (різні версії Gradle, вище) та спричинити
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)
Для перевірки побудуйте | Make Project не повинен вискакувати у вікні із запитом, яку програму ви хочете зробити.
- Недійсні ваші кеші
- Файл | Недійсні кеші / перезапуск (stackoverflow.com/a/19223269/513413)
- Якщо крок 2 не працює, видаліть ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
- Закрийте Android Studio
- $ rm -rf ~ / .gradle /
- Запустіть Android Studio, а потім синхронізуйте:
- Інструменти | Android | Синхронізуйте проект із файлами Gradle
- Повторіть всю цю послідовність (киньте ... синхронізацію) кілька разів, перш ніж відмовлятися.
- Очистіть проект
- Побудувати | Чистий проект
Якщо ви бачите це ...
У своїх останніх збірках я постійно бачив жахливі збої (сторінки винятків), але за лічені секунди повідомлення очистились, побудова завершилася успішно, а додаток розгорнуто. Оскільки я ніколи не міг пояснити це, і програма працювала, я ніколи не помічав, що в моєму проекті є два плагіни Gradle. Тому я думаю, що плагіни Gradle боролись між собою; одна розбилася, інша втратила стан і повідомила про помилку.
Якщо у вас є час, 1-годинне відео "Ніжний вступ до Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) справді допомогло мені підійти до файлів побудови Gradle, завдань, побудови рішень тощо.
Застереження
Я вивчаю весь цей стек на іноземній ОС після іншої кар’єри ... все одночасно і під тиском. За останні кілька місяців я вдарився по кожній стіні, яку, на мою думку, має Android; Я був тут досить часто, і це мій перший допис. Я вважав, що це важке виправлення, тому щиро прошу вибачення, якщо якість моєї відповіді відображає труднощі, які я мав при доступі до неї.