Error duplicate resources android studio

Android Studio Error Duplicate Resource

Ошибка, показанная в студии android при создании проекта

themes_apptheme.xml

Не знакомый с андроид-студией, просто импортировал проект из eclipse, пока он отлично работает с eclipse, если есть какие-либо предпосылки для сборки в андроид-студии, пожалуйста, сообщите мне

У вас есть тот же style/AppTheme ресурса style/AppTheme в двух файлах, values/styles.xml и values/themes_apptheme.xml . Переименуйте или удалите другое.

После использования Android Studio для создания нового пустого действия с использованием нового мастера действий, файл XML файла res/layout/myactivity_layout.xml был сгенерирован автоматически, но Android Studio ALSO молча добавила /res/values/dimens.xml .

У меня уже есть файл /res/values/dimen.xml где я определил различные размеры.

Android Studio добавила 2 новых ключа измерения к этим файлам (без проверки конфликтов) и, конечно же, ключи для 2 новых измерений были уже определены в моем файле dimen.xml , поэтому моя сборка Gradle не удалась.

Я предполагаю, что Android Studio добавила dimens.xml , потому что она не распознала мой файл dimen.xml . И причина, по которой Android Studio автоматически добавила новые размеры в dimens.xml – это придерживаться конвенций стиля Android для Material Design (которые я не придерживаюсь для своего проекта).

Я бы предпочел, если Android Studio не будет автоматически генерировать проблемы, не проверяя сначала!

Источник

Android Build Error — [string/google_app_id] — Duplicate Resource #37

Comments

emyymk commented Jul 20, 2017

Hi, using
cordova 7.0.1
android 6.2.3

Android build failed message

  • Removed the google_app_id from platforms/android/res/values/strings.xml
  • Same problem
  • Removed the google_app_id from platforms/android/build/generated/res/google-services/debug/values/values.xml
  • Same problem
  • Removed google_app_id from both files
  • Same problem

The text was updated successfully, but these errors were encountered:

chemerisuk commented Jul 20, 2017

Read your logs carefully. I believe you have a dup string in resources, may be other than google_app_id

emyymk commented Jul 20, 2017

Thank you for your response, chemerisuk.

Well. I started all again, because I was using an old version of plugins.

And now I have this msg error similar to this issue, but i am using phonegap-plugin-push.

After dealing with some msg erros, my bundle.graddle is now:

  • I have already remove/add Android platform
  • I have tried with ‘com.google.gms:google-services:3.0.0’ and ‘com.google.gms:google-services:3.1.0’

Please, do you know how can i solve this?

nickforddesign commented Jul 21, 2017 •

I am experiencing the same issue, same versions. Also using phonegap-plugin-push .

Edit: I’ve tried removing the Android platform, also tried removing and installing this plugin and phonegap-plugin-push in different orders.

I was eventually able to get phonegap build to run, by deleting the following from android.json:

. along with the corresponding entry in strings.xml, but I honestly don’t know what side effects that will have and it seems like a very hacky solution at best.

chemerisuk commented Jul 22, 2017

This is a trash from a some other plugin. It will be ok, because this constant value is generated from your ‘google-services.json’ now

nickforddesign commented Jul 24, 2017

Fair enough, it does appear to be working without issue. Thanks!

ravikumarthuta commented Apr 26, 2018 •

now i am facing same problem.what is the solution please let me know.

FavoriteFave commented May 27, 2018

@nickforddesign this worked for me. thank you!

Читайте также:  Почему тухнет экран андроида

eswarn24 commented Oct 25, 2018

@nickforddesign Not sure, but the steps you provided worked for me.

I was working in a project to completely upgrade a cordova project & plugins to latest version

In my case, I was using Push services in GCM and used to build the project directly in android studio rather than cordova build (Though not recommended).

Since google-service.json was introduce in firebase rather than GCM, it is mandatory for latest push plugin in cordova to build android projects.

So, I migrated the project to firebase and downloaded latest google-service.json from console portal. I included it in root directory of cordova project and during build process I encountered this error.

Your solution saved my time rather than banging my head on this issue

Источник

Ошибка Android Duplicate Resources

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

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

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

ОТВЕТЫ

Ответ 1

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

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

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Источник

Методы лечения различных ошибок в Android Studio при разработке проекта

Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.

Я для себя завел файлик, в котором отметил самые частые ошибки — потратив на это несколько часов и перечислил самые популярные ошибки (в дальнейшем планирую просто их запомнить), чтоб сократить свое время в дальнейшем.

Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:

1) Если подчеркивает красным код, где используются ресурсы: R. — попробовать (но вероятно не поможет): Build -> Clean Project.

В принципе на Build -> Clean Project можно не терять времени, а лучше всего — слева переключиться на Project, открыть каталог .idea, затем каталог libraries и из него удалить все содержимое. Затем нажать кнопку Sync Project. А затем (если все еще красное, но скорее всего уже будет все ок ) Build -> Clean Project.

Читайте также:  Файлы с андроид нет дисплея

2) После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным. Перед этим может быть ошибка: Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of ‘adb version’. Есть три решения — первое помогло, второе нет (но может быть для другого случая), а третье — не пробовал:

а) File — Invalidate Caches/Restart — Invalidate and Restart

б) Закрыть студию. В корне папки проекта удалить файл(ы) .iml и папку .idea. Вновь запустить студию и импортировать проект.

в) Нажать Ctrl-Alt-O и запустить оптимизацию импорта.

Кстати, adb сервер можно проверить на версию (и работоспособность) и затем перезапустить:

3) Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ‘:app:dexDebug’.

Надо слева переключиться на опцию Project, найти и удалить папку build которая лежит в папке app, т.е. по пути app/build. Затем перестроить весь проект заново: Build -> Rebuild Project.

Такое же решение если ошибка типа: «не могу удалить (создать) папку или файл» и указан путь, который в ведет в app/build. Тоже удаляем папку build и ребилдим проект.

4) В сообщении об ошибке упоминается heap — виртуальная память. А ошибка обычно вызвана ее нехваткой, т.е. невозможностью получить запрашиваемый объем. Поэтому этот запрашиваемый объем надо уменьшить, т.е. переписать дефолтное значение (обычно 2048 MB которое можно изменить в настройках), на меньшее 1024 MB.

В файле проекта gradle.properties пишем:

5) Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»

Возможные причины (кроме необходимости регулярного обновления SDK):

а) Загруженный проект был скомпилирован с помощью уже несовместимого старого gradle плагина. В этом случае надо найти и подключить в своем build.gradle проекта этот более старый плагин. т.е. попробовать более старые версии, например: 1.1.3 (часто именно 1.1.x и подходит).

Найти все версии можно здесь.

б) Если в build.gradle проекта используется beta-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:

6) Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files. Решение — надо посмотреть в сообщении об ошибке или в документации подключенной сторонней библиотеки — какие именно файлы стали избыточными, и перечислить их в build.gradle модуля для исключения (exclude) из билда.

Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).

Источник

Gradle завершил работу с ненулевым значением выхода 1 (ic_launcher.png: error: Duplicate file)

Я получил эту странную ошибку с градиентом, пожалуйста, помогите мне!

Раньше он работал нормально, но поскольку я указал путь к классам com.android.tools.build:gradle:1.2.2 , это вызывает у меня ошибки

13 ответов

Переход на com.android.tools.build:gradle:1.1.3 решил мою проблему

Мне удалось вызвать эту проблему из-за непоследовательного использования заглавных букв в расширениях файлов. У меня было изображение .jpg в одном каталоге для рисования, но изображение с тем же именем файла, но .JPG в другом каталоге для рисования. Имена файлов и каталоги были правильными, а расширения — нет.

Обновление до новейшего плагина Gradle 1.5.0 решило эту проблему. Обновите следующий сценарий в корневом файле build.gradle

Перейдите по этой ссылке Здесь

Сделайте такие изменения.

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

  • переименуйте свой значок
  • добавьте tools:replace=»android:icon» в свой тег в манифесте

Вы можете попробовать только первый шаг, но у меня все еще были проблемы при слиянии файлов манифеста. Таким образом, он должен переопределить любой ресурс, который использовался в библиотеке.

Просто Rename Image ( Rightclick on the Image, Select Refactor and select Rename ). Это решит проблему, поскольку Проблема возникла, поскольку один из library также использует image с same name .

Читайте также:  Хорошие почтовые клиенты для андроид

В моем случае я добавил апостроф (ы) в файл strings.xml. Обязательно проверьте ребят на наличие такой ошибки, и ее удаление определенно поможет. Это так раздражает, что среда IDE не может правильно отображать ошибку, скорее, все ресурсы не синхронизированы.

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

Просто переименуйте ic_launcher.png во что-нибудь другое (например, ic_launcher.png)

Обновитесь до 1.2.3, но убедитесь, что ваш gradle и buildToolsVersion идентичны в вашем проекте и используемом aars.

Если вы используете внешние библиотеки, где вы не можете контролировать версию gradle / build: свяжитесь с автором или проверьте исходники самостоятельно. В некоторых библиотеках есть неиспользуемые значки запуска, которые могут вызвать этот конфликт. Удаление этих значков решит вашу проблему. Источники с одинаковыми названиями (например, menu.xml) также могут вызывать эту проблему в редких случаях. Простым обходным решением было бы переименовать ваш ресурс.

Для меня простые «чистый проект» и «перестроить проект» сделали свое дело.

Вот общий метод поиска проблемы:

./gradlew build —stacktrace —info

И вы найдете подробную информацию об ошибках. Я обнаружил свою ошибку: повторяющийся класс вызвал ошибку верхнего уровня, и удаление дублированного класса решит проблему.

У меня была такая же проблема при использовании сторонней библиотеки. (Библиотека RomainPiel / Shimmer-android на Github)

Чтобы решить эту проблему, я переместил свои файлы ic_launcher.png из папки с возможностью рисования в папку mipmap. И проблема решена.

Согласно объяснению Ксавье Дюроше в Google+, это связано с одной из библиотек, которые вы используете иметь собственный ic_launcher.png — чего они, конечно же, не должны (подробнее об этом внизу).

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

Чтобы увидеть вызывающую нарушение зависимость, нажмите Ctrl + Shift + N дважды (для соответствия, не относящегося к проекту) и введите ic_launcher.png (см. Последнюю строку на снимке экрана)

Чтобы временно обойти проблему , добавьте квалификатор -v4 в папки с доступными ресурсами (или просто переместите ic_launcher.png в *dpi-v4 , если у вас есть причины) — благодарим Ксавье Дюроше за решение. Вы также можете просто переименовать свой значок во что-нибудь другое и внести соответствующие изменения в AndroidManifest.xml

Реальная проблема заключается в том, что в библиотеке-нарушителе есть бесполезные значки. Библиотеки, которые имеют свои собственные ресурсы (например, ActionBarSherlock или собственная библиотека Google Support v7), используют особые схемы именования, чтобы избежать конфликтов с именами ваших ресурсов ( abs_ , abc_ ).

Значки программы запуска не предназначены для использования в библиотеке, поэтому я рекомендую вам уведомить автора библиотеки, которую вы используете, о том, что они забыли удалить избыточные файлы ic_launcher.png .

Также стоит упомянуть , как очень точно отметил Барри Кэрролл в том же обсуждении, это не означает, что ваши ресурсы должны никогда не перекрывайте ресурсы библиотеки: существует множество законных причин переопределить ресурсы библиотеки собственными (например, изменение внешнего вида деятельности, предоставляемой библиотекой), и логика слияния ресурсов плагина gradle позволяет это , специально.

Просто в этом конкретном случае конфликт возникает, когда библиотека отстает от версии плагина android gradle (до 1.2.2), и в этом случае ресурсы оказываются в двух разных папках *dpi — с и без Квалификатор -v4 ; но на самом деле они находятся в одном «ведре» ресурсов, поэтому система считает их дублирующимися.

Этот сбой действительно вызывает бесполезное переопределение ic_launcher.png (на самом деле, коллизия — из-за сбоя), но эта ситуация не всегда плоха для других видов ресурсов.

Т.е. иногда вы намеренно переопределяете ресурс библиотеки, и этот сбой по-прежнему вызывает появление сообщения об ошибке. На этот раз нет реальной проблемы с именами ресурсов, поэтому временное решение выше или задержка версии плагина — это выход.

Источник

Оцените статью