Ошибка значка Gradle студии андроида, слияние Манифеста
Я продолжаю видеть это сообщение и не знаете, как ее решить навсегда.
Error:(43, 9) Attribute application@icon value=(@drawable/new_app_icon) from AndroidManifest.xml:43:9
is also present at com.github.erizet.signala:signala-longpolling:0.20:7:18 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:40:5 to override
:OpenBook:processDebugManifest FAILED
Error:Execution failed for task ':OpenBook:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
пробовал добавлять android:replace="android:icon" мой манифест даже с моей иконой.
Я попытался удалить android:icon="@drawable/ic_launcher из библиотеки, но он продолжает возвращаться, когда я строю, потому что его импортировали из maven
какие идеи ?
15 ответов:
похоже, это ошибка инструмента слияния mainfest для gradle.
http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger
решил его, добавив в мой манифест тег
добавилxmlns:tools="http://schemas.android.com/tools"tools:replace="android:icon,android:theme"к тегу приложенияэто говорит слиянию использовать мой значок манифеста и тему, а не других библиотек
надеюсь, что это помогает спасибо
у меня такая же проблема, я исправляю это, добавляя
xmlns:tools="http://schemas.android.com/tools"в верхней части файла mainfest, и добавитьtools:replace="android:icon"чтобы быть похожим<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" // add tools line here package="yourpackage"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:icon"> ///add this line ..... </application> </manifest>
ответ shimi_tap достаточно. Что нужно помнить, так это то, что вы выбираете только то, что вам нужно. Выберите из {значок, имя, тема, метка}. Я добавил
tools:replace="android:icon,android:theme", Он не работает. Я добавилtools:replace="android:icon,android:theme,android:label,android:name", он не работает. Это работает, когда я добавилtools:replace="android:icon,android:theme,android:label". Так что узнайте, что именно конфликт находится в ваших файлах манифеста.
у меня такая же ошибка, просто этот код решает мою проблему, я хочу поделиться с вами:
на
Manifest.xml:
добавьте этот код в верхней части вашего xml-файла:
xmlns:tools="http://schemas.android.com/tools"добавлено :
tools:replace="android:icon,android:theme,android:label,android:name"к тегу приложения
эта ошибка также возникает, когда основным направлением развития операционной системы приложения выше, чем основным направлением развития операционной системы любой библиотеки.
app's minSdk >= libraries minSdk
просто добавить
xmlns:tools="http://schemas.android.com/tools"к тегу манифеста. И тогда вам нужно добавитьtools:replace="android:icon"__до__android:icon="@mipmap/ic_launcher". Удачи вам! : D
ПОЛУЧИЛ РЕШЕНИЕ ПОСЛЕ МНОГО ВРЕМЕНИ ГУГЛИТЬ
просто сделать свой ic_launcher и вставьте его в папку drawables,
заходим в свой манифест и изменить android: icon= "@drawable/ic_launcher"
очистить проект и перестроить
надеюсь, что это поможет вам
У меня была эта проблема с изменением значка с drawable на mipmap.
Я только пропустил строку
tools:replace="android:icon"в манифесте.
по какой-то причине android studio не любит вызывать значок приложения из папки drawable. Поэтому в этом случае я создал каталог ресурсов mipmap в папке res.
щелкните правой кнопкой мыши папку res > создать > каталог ресурсов android > тип ресурса: mipmap а теперь бросьте любой значок там, а затем ссылайтесь на это в файл манифеста. Разделяя это, так как этот метод работал для меня.
android:icon:@drawable/ic_launcher"
to
android: icon= "@mipmap / ic_launcher"
Если ничего из этого не работает, закройте Android Studio. Перейдите на app/src / main, откройте файл AndroidManifest.xml в текстовом редакторе (например, sublime), удалите/замените строки erros, сохраните и снова откройте Android studio.
Если значение атрибута содержит заполнитель (см. Формат ниже), то слияние манифеста заменит это значение заполнителя на введенное значение. Введенные значения указываются в сборке.градля. Синтаксис для значений-заполнителей используется ${name}, так как @ зарезервирован для ссылок. После последнее слияние файлов произошло, и перед полученным слиянием файл манифеста android записывается, все значения с заполнителем будет заменен с введенными значениями. Поломка сборки будет возникает, если имя переменной неизвестно.
from http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Build-error
ответ Shimi_tap-это правильный способ решить проблему. Если вы хотите использовать старый инструмент слияния, вы можете добавить его в сборку.gradle file
android { useOldManifestMerger true }
для меня эта проблема возникла после обновления служб Google Play. Одна из библиотек, которую я использовал, включила эту библиотеку, используя " + " в своей ссылке gradel, например
compile 'com.google.android.gms:play-services:+'это создало проблему, потому что минимальная версия, предназначенная для этой библиотеки, была меньше, чем текущая версия служб Google Play. Я нашел это, просто заглянув в журналы.
в своем
.gradleизменить основным направлением развития операционной системы, например:
build.gradle(модуль: приложение)
- перед:
minSdkVersion 9- после:
minSdkVersion 14etc.
Я перепробовал все решения, упомянутые выше
на
Manifest.xml:
добавьте этот код в верхней части XML-файла в манифесте тег:
xmlns:tools="http://schemas.android.com/tools"добавлено :
tools:replace="android:icon,android:theme,android:label,android:name"к тегу приложенияно ничего из этого не сработало. Мне нужно было удалить xml-файл, который был расположен в
mipmap-anydpi-v26/ic_launcher_round.xml
Я тестировал приложение в
Samsung Galaxy 8 С версией ОС 8.0.0
это действительно решение?
Comments