Android Studio - исключение mergeDebugResources

Недавно я обновил Android Studio до последней версии, и теперь у меня возникает головная боль с исключением из Gradle build.

Каждый раз, когда я запускаю проект, два или три раза, прежде чем он удастся, я получаю следующую ошибку:

Gradle: Execution failed for task ': ProjectName:
mergeDebugResources'.
Java.lang.NullPointerException (no error message)

Повторяя пару раз, ошибка не повторится до следующего прогона.

Кто-нибудь знает, почему это происходит? Проект работал просто отлично до обновления, никогда не получал ошибок до...

Спасибо!

Ответ 1

Я нашел решение проблемы.

Существует проблема с проблемами сборки gradle, это не одно и то же, но решение, похоже, также решает проблемы mergeResourceDebug. (вопрос здесь https://code.google.com/p/android/issues/detail?id=56158). В комментариях говорится, что решение решается в gradle 0.4.3.

Чтобы использовать gradle 0.4.3, файл build.gradle необходимо обновить вручную. (Обновление Android Studio не изменяет файл сборки)

Вот что я изменил В build.gradle:

dependencies {
    classpath 'com.android.tools.build:gradle:0.4.3'
}

Сменяя это, я больше не видел проблем mergeDebugResource при запуске моего проекта. Надеюсь, это поможет!

Изменить: чтобы оставаться в курсе событий gradle, вы можете изменить номер версии до 0,4. +

Ответ 2

Это случается со мной только при изменении файлов XML в проекте. Если вы перестроили весь проект перед запуском (Build > Rebuild Project), он больше не отображается.

Ответ 3

внутри вашего каталога проекта, запустите:

./gradlew clean build

или из Android Studio выберите:

Build > Clean Project

Обновлено: как @VinceFior указал в комментарии ниже

Ответ 4

У вас может быть поврежден файл .9.png в каталоге drawables

Ответ 5

Эта ошибка может также произойти, если путь сгенерированного файла сборки превышает длину пути max max до 255 символов. Убедитесь, что путь к проекту не слишком длинный, используйте короткие имена.

Ответ 6

Двоичные файлы в папку src/main/res/drawables также должны быть в src/main folder.

Это работает для меня..

Ответ 7

В моем случае ничего из вышеизложенного не работает, я просто переименовал название проекта, все работает хорошо.

Пример:

Название моего проекта До - sticky-headers-recyclerview-master

Название моего проекта После - SHRV

Надеюсь, это поможет вам.

Ответ 8

Моя проблема решает эту проблему

compile fileTree(dir: 'libs', include: ['*.jar'])

к

provided fileTree(dir: 'libs', include: ['*.jar'])

Ответ 9

В моем случае, когда я изменил имя пакета, эта проблема появилась, я просто выполнил следующие шаги, чтобы исправить мою проблему:

  • Удалено ранее установленное apk (удаление)

  • Прикладной проект чистый

  • Запустить приложение

Ответ 10

Требуется изменить версию инструмента сборки из старой версии в build.gradle для проекта модуля:

android {
    ...
    buildToolsVersion "24.0.2"
    ...
}

Ответ 11

Это также произойдет, если есть/есть какие-либо дополнительные папки/файлы в папке ресурса, которые не поддерживаются Android.

Ответ 12

Существует новая задача Gradle, называемая "cleanBuildCache", просто запустите эту задачу, очистив кэш, а затем заново постройте проект.

Ответ 13

В моем случае я просто удалил пространство из имени папки проекта Из: MyApp last

Кому: MyApp_latest

и он работал.

Ответ 14

У меня была такая же проблема, и мне удалось ее решить, она просто понизила вашу версию gradle следующим образом:

dependencies {
    classpath 'com.android.tools.build:gradle:YOUR_GRADLE_VERSION'
}

to

dependencies {
    classpath 'com.android.tools.build:gradle:OLDER_GRADLE_VERSION_THAT_YOUR'
}

например:

YOUR_GRADLE_VERSION= 3.0.0

OLDER_GRADLE_VERSION_THAT_YOUR= 2.3.2

Ответ 15

Я только что обновил до версии gradle build tool, и он работает.

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