Android Studio – запись ресурсов уже определена

После компиляции моего приложения Android с помощью Android Studio (бета-версия) у меня есть следующая ошибка:

Error:error: Resource entry background is already defined. res\drawable-xhdpi-v4\background.9.png:0: Originally defined here. 

Это произошло, когда у меня был файл с изображениями, называемый «фон» в моей папке res.

Затем я сделал 9 версий патчей и вставил их в одну папку. Это означало, что было 2 файла с тем же именем. Поэтому я, неудивительно, имел эту ошибку.

Однако теперь я удалил все экземпляры файла фонового изображения (включая 9 версию патча и оригинальное изображение) в моем файле кода и макета, и у меня все еще есть эта ошибка.

Solutions Collecting From Web of "Android Studio – запись ресурсов уже определена"

Вы можете попытаться выполнить одно из следующих действий:

  • Чистота и сборка или gradle clean build assemble
  • Отменить и перезапустить Android Studio

1 Build> Чистый проект
2 Build> Реконструкция проекта

Я использую Android-студию, и я точно вхожу в ту же проблему, и ни один из ответов, которые я нашел в Интернете, не помог мне решить проблему, в том числе и предыдущую. Поэтому, прочитав все детали сообщений об ошибках и найдя эти строки:

Ошибка: выполнение выполнено для задачи ': app: processDebugResources'.

Com.android.ide.common.internal.LoggedErrorException: Не удалось выполнить команду: C: \ Users \ user \ AppData \ Local \ Android \ android-studio \ sdk \ build-tools \ android-4.4W \ aapt.exe package – F -no-crunch -IC: \ Users \ user \ AppData \ Local \ Android \ android-studio \ sdk \ platform \ android-20 \ android.jar -MC: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ Intermediates \ manifestests \ debug \ AndroidManifest.xml -SC: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ intermediates \ res \ debug -AC: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ intermediates \ assets \ Debug -m -JC: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ generated \ source \ r \ debug -FC: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ intermediates \ libs \ app-debug .ap_ –debug-mode –custom-package com.dartstransit.dartsapp -0 apk –output-text-symbols C: \ Users \ user \ AndroidStudioProjects \ DartsApp \ app \ build \ intermediates \ symbols \ debug

Код ошибки:

 1 

Вывод:

 res\drawable-hdpi-v4\bus_w.png:0: error: Resource entry bus_w is already defined. res\drawable-hdpi-v4\bus_w.jpg:0: Originally defined here. 

Как вы можете видеть, в одной папке есть два файла с именем bus_w с разными расширениями. Я уже удалил эти файлы из проекта и все еще получаю ошибку, поэтому решил проверить каждую отдельную папку проекта, которая была ссылкой в ​​строке компилятора в сообщении об ошибке. Наконец выяснилось, что в папке app\build\intermediates\res\debug\drawable-mdpi-v4 есть копия файла bus_w.png.

Я просто удалил его и вуаля, проблема решена.

Простой проект Build > Rebuild помог мне

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

Я вижу, что у многих разработчиков (включая меня) была проблема с ic_launcher . Я думаю, вы хотите попробовать mipmap вместо mipmap . Итак, у нас будет что-то вроде этого:

 \res\mipmap-hdpi \res\mipmap-mdpi \res\mipmap-xhdpi \res\mipmap-xxhdpi 

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

Я также столкнулся с этой ошибкой недавно. Вот мое решение, которое работает, надеюсь, что это поможет вам.

1. полностью сохранить 9 изображений версии патча в папке drawable-hdpi

2. Убедитесь, что код, связанный с этой проблемой в xml-файле, остается тем же: android:background="@drawable/msg_left"

Вместо использования кода:

android:background="@drawable/msg_left.9"

PS: Мое первоначальное имя изображения – msg_left, а мое имя версии для версии 9 – msg_left.9

Я сделал трюк, переместив значок

 drawable/ic_launcher 

в

 mipmap/ic_launcher 

И он отлично работал 🙂