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"