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
В моем случае, когда я изменил имя пакета, эта проблема появилась, я просто выполнил следующие шаги, чтобы исправить мою проблему:
Ответ 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