Android studio Gradle ошибка значка, слияние манифеста

Я продолжаю видеть это сообщение и не знаю, как его решить навсегда.

Error:(43, 9) Attribute [email protected] 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

Любые идеи?

Ответ 1

Кажется, что это ошибка основного инструмента слияния для 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" в тег приложения

Это говорит о слиянии с использованием моего манифеста и темы, а не других библиотек

Надеюсь, это поможет спасибо

Ответ 2

У меня такая же проблема, я исправляю это, добавляя 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>

Ответ 3

У меня такая же ошибка, только этот код решает мою проблему, я хочу поделиться с вами:

в Manifest.xml:

  • добавить этот код в верхнюю часть вашего xml файла:

    xmlns:tools="http://schemas.android.com/tools"

  • Затем добавил:

    tools:replace="android:icon,android:theme,android:label,android:name" к тегу приложения

Ответ 4

Ответ shimi_tap достаточно. Что нужно помнить, так это то, что вы выбираете только то, что вам нужно. Выберите из {icon, name, theme, label}. Я добавил tools:replace="android:icon,android:theme", он не работает. Я добавил tools:replace="android:icon,android:theme,android:label,android:name", он не работает. Он работает, когда я добавил tools:replace="android:icon,android:theme,android:label". Поэтому выясните, что именно конфликт в ваших файлах манифеста.

Ответ 5

Просто добавьте xmlns:tools="http://schemas.android.com/tools" к вашему тегу манифеста, а затем вам нужно добавить tools:replace="android:icon" перед android:icon="@mipmap/ic_launcher".

Ответ 6

Эта ошибка также возникает, когда ваше приложение minSdk выше, чем любая другая библиотека minSdk.

app minSdk >= libraries minSdk

Ответ 7

ПОЛУЧИТЬ РЕШЕНИЕ ПОСЛЕ ТОГО, ЧТО ВРЕМЯ GOOGLING

просто получите ic_launcher и вставьте его в папку с вашими возможностями,

Перейдите в свой манифест и измените андроид: icon = "@drawable/ic_launcher"

Очистите проект и перестройте

Надеюсь, это поможет вам

Ответ 8

У меня возникла проблема с изменением значка от drawable до mipmap.

Я пропустил линию

tools:replace="android:icon"

в манифесте.

Ответ 9

По какой-то причине андроид-студия не любит вызывать значок приложения из выпадающей папки. Поэтому в этом случае я создал каталог ресурсов mipmap в папке res.

Щелкните правой кнопкой мыши папку res > новый > каталог ресурсов Android > тип ресурса: mipmap, а затем отпустите любую иконку там, а затем ссылку на файл манифеста. Совместное использование этого, поскольку этот метод работал у меня.

android: icon: @drawable/ic_launcher

to

Android: значок = "@мипмап/ic_launcher"

Ответ 10

Если ничего не получится, закройте Android Studio. Перейдите в приложение /src/main, откройте файл AndroidManifest.xml в текстовом редакторе (например, возвышенное), удалите/замените строки erros, сохраните и заново откроете студию Android.

Ответ 11

Когда значение атрибута содержит местозаполнитель (см. формат ниже), манифестное слияние будет заменять эту стоимость заполнитель с помощью инъекции стоимость. Инъекционные значения указаны в файле build.gradle. Синтаксис для значений placeholder - ${name}, так как @зарезервирован для ссылок. После произошло последнее слияние файлов и до того, как они были объединены Файл манифеста android выписан, все значения с помощью заполнителя будут заменены введенными значениями. Поломка сборки будет если имя переменной неизвестно.

из http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Build-error

Ответ 12

Ответ Shimi_tap - это правильный способ устранить проблему. Если вы хотите использовать старый инструмент слияния, вы можете добавить его в файл build.gradle

android {  useOldManifestMerger true  }

Ответ 13

Для меня эта проблема возникла после обновления сервисов Google Play. Одна из библиотек, которые я использовал, включила эту библиотеку, используя "+" в своей градельной ссылке, например

compile 'com.google.android.gms:play-services:+'

Это создало проблему, потому что минимальная версия, предназначенная для этой библиотеки, была меньше, чем та, которая была предназначена для текущей версии Служб Google Play. Я нашел это, просто глядя в журналы.

Ответ 14

В вашем .gradle изменении MinSDK, например:

  • build.gradle (Модуль: приложение)
    • до: minSdkVersion 9
    • после: minSdkVersion 14

и др.

Ответ 15

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

в Manifest.xml :

  • добавьте этот код в начало вашего XML файла в теге manifest:

    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

это действительно решение?

Ответ 16

В файле AndroidManifest.xml добавьте следующее к узлу application:

tools:replace="android:appComponentFactory,android:icon,android:theme,android:label,android:name"