Ошибка Android Duplicate Resources

Я очень новичок в разработке Android и разрабатываю свое первое приложение, когда получил эту ошибку

Error:Error: Duplicate resources: E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.png:drawable-hdpi-v4/login_bg, E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.9.png:drawable-hdpi-v4/login_bg
Error:Execution failed for task ':app:mergeDebugResources'.
> E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.png: Error: Duplicate resources: E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.png:drawable-hdpi-v4/login_bg, E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.9.png:drawable-hdpi-v4/login_bg

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

P.S. Пользовательский интерфейс был разработан моим frnd, который является разработчиком пользовательского интерфейса, а затем отправил мне по почте проект, в котором я теперь должен добавить код и функциональность, поэтому мне становится трудно попытаться выяснить, что может быть возможной ошибкой.

Ответ 1

То, что Android считает, что при сопоставлении изображений в ваших макетах одно и то же:

E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.png
E:\Android\LED\app\src\main\res\drawable-hdpi\login_bg.9.png

login_bg.9.png image сообщает Android, что это изображение является 9-патч-изображением. В то время как другое изображение, login_bg.png, является обычным образом. Но с точки зрения ссылок на изображения они объявляются одинаковыми, как в следующих примерах.

Нормальное изображение:

<ImageView
    android:id="@+id/normalImage"
    android:background="@drawable/login_bg"/>

Изображение Nine-patch:

<ImageView
    android:id="@+id/ninePatchImage"
    android:background="@drawable/login_bg"/>

Примечание. Нет никакой разницы в ссылках на изображения из вашего каталога /res/drawables вашего проекта Android.

См. здесь для получения дополнительной информации об изображении с девятью патчами, или для правильного термина для него доступно девять патчей. Для справки, 9-патч-чертежи должны быть объявлены как <name>.9.png, как в login_bg.9.png.

Ответ 2

в основном это произойдет, когда xml обнаруживает несколько файлов с тем же именем, независимо от их типа расширения. например: mypicture.jpg не может находиться в одной папке каталога с mypicture.png

поэтому ваш случай, login_bg.9.png и login.png в той же папке каталога не разрешен.

надеюсь, это может быть полезно. иметь хороший день

Ответ 3

Я решил эту проблему, переименовав оба файла с разными именами.

Ответ 4

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

Ответ 5

Использование Ant вместо Gradle, похоже, решило проблему для меня. Многие из моих файлов имеют одинаковые имена файлов, чтобы начать с другого расширения (индексированные файлы ресурсов разных типов). Древний проект, и древнее решение работало на меня.

Ответ 6

Решил это, перейдя в:

Build ➞ Clean Project

Удачи!!