Ошибка слияния манифеста с несколькими ошибками в Android Studio
Итак, я новичок в Android и Java. Я только начал учиться. Пока я экспериментировал с намерение сегодня я допустил ошибку.
Я нашел здесь некоторые решения и попытался их реализовать, но это не сработало.
Это моя сборка.Gradle в :
Это мой AndroidManifest :
Это моя первая неделя с кодированием, мне жаль, если это действительно глупо. Я действительно Новичок в этом и не нашел другого места, чтобы спросить. Извините, если я нарушил какие-либо правила
21 ответов
Итак, файл манифеста, показывающий двусмысленность.
откройте манифест приложения( AndroidManifest.xml ) ,нажмите на кнопку Merged Manifest .Проверьте изображение
вы можете просмотреть ошибку в правом colum, попробуйте решить эту ошибку.Это может помочь кому-то с той же проблемой.
Я также столкнулся с теми же проблемами, и после многих исследований нашел решение:
- ваша версия min sdk должна быть такой же, как у модулей, которые вы используете, например: ваш модуль min sdk версия 14 и ваше приложение min sdk версия 9 это должно быть то же самое.
- если версия сборки вашего приложения и модулей не одинакова. Опять же надо же ** Короче говоря, ваше приложение build.gradle файл и манифест должны иметь одинаковые конфигурации**
- нет дублирование, как и те же разрешения, добавленные в файл манифеста дважды, одно и то же действие упоминается дважды.
- если у вас есть удалить любое действие из вашего проекта, удалите его из файла манифеста, а также.
- иногда его из-за метки, значка и т. д. тега файла манифеста:
a) добавить xmlns:tools строка в манифесте таг.
b) добавить tools:replace= или tools:ignore= в теге приложения.
- если две зависимости имеют разные версии пример: вы используете зависимость для appcompat v7: 26.0.0 и для facebook com.фейсбук.android: facebook-Android-sdk: [4,5) facebook использует cardview версии com.андроид.поддержка: cardview-v7: 25.3.1 и appcompat v7:26.0.0 использует cardview версии v7: 26.0.0, поэтому в двух библиотеках есть discripancy и, таким образом, дают ошибку
ошибка: не удалось выполнить задачу»: app: processDebugManifest».
ошибка слияния Манифеста: атрибут meta-data#android.поддержка.Версия@value value=(26.0.0-alpha1) из [com.андроид.поддержка: appcompat-v7: 26.0.0-alpha1] AndroidManifest.в XML:27:9-38 также присутствует в [com.андроид.поддержка: cardview-v7: 25.3.1] AndroidManifest.xml: 24: 9-31 value=(25.3.1). Предложение: добавить «tools: replace=» android: value «» в элемент на AndroidManifest.xml: 25: 5-27: 41 для переопределения.
таким образом, используя appcompat версии 25.3.1, мы можем избежать этой ошибки
учитывая вышеизложенные моменты в виду, вы избавитесь от этой раздражающей проблемы. Вы можете проверить мой блог https://wordpress.com/post/dhingrakimmi.wordpress.com/23
для меня это работает —
поиск ошибок слияния в AndroidManifest.xml
нажмите на Объединенный манифест в AndroidManifest.xml
вы можете просмотреть ошибку слияния манифеста в правом столбце. Это может помочь решить эту проблему.
я столкнулся с той же проблемой и я просто добавил одну строку в мой манифест.xml, и это сработало для меня.
надеюсь, это поможет.
в дополнение к доступным решениям, пожалуйста, проверьте это также.
если вы установили android:allowBackup=»false» в своем AndroidManifest.xml тогда может возникнуть конфликт для android:allowBackup=»true» в других зависимостей.
решение
Как предложил @CLIFFORD P Y, переключитесь на Merged Manifest в своем AndroidManifest.xml . Android Studio предложит добавить tools:replace=»android:allowBackup» на в своем AndroidManifest.xml .
обычно происходит, когда у вас есть ошибки в вашем манифесте.Открываем AndroidManifest.XML. Перейдите на вкладку объединенный манифест.Ошибки можно увидеть там .Также включите предложения, упомянутые там.Когда у меня была аналогичная проблема при импорте com.гуглить.андроид.СБМ.карты.модель.LatLng, он предложил мне включить инструменты: overrideLibrary= » com.гуглить.андроид.СБМ.карты » в теге приложения и сборка прошла успешно.
в моем случае он показывал ошибку, потому что была избыточность в элемент. Поэтому, пожалуйста, проверьте свой AndroidManifest.xml файл для того же.
версия Android Studio 3.0.1
операционная система Windows 7
Источник
Ошибка манифеста слияния с несколькими ошибками в Android Studio
Итак, я новичок в Android и Java. Я только начал учиться. Пока я экспериментировал с Intent сегодня, я понес ошибку.
Я нашел здесь несколько решений и попытался их реализовать, но это не сработало.
Это мой build.gradle:
Это мой AndroidManifest:
Это моя первая неделя с кодированием, мне жаль, если это действительно глупо. Я действительно новичок в этом и не нашел другого места, чтобы спросить. Извините, если я нарушил какие-либо правила
Итак, файл манифеста показывает двусмысленность.
Откройте манифест приложения ( AndroidManifest.xml ), нажмите « Merged Manifest .Проверьте изображение
Вы можете просмотреть ошибку в правильном colum, попытайтесь решить ошибку. Это может помочь кому-то с той же проблемой.
Я также столкнулся с теми же проблемами, и после того, как многие исследования нашли решение:
- Ваша версия min sdk должна быть такой же, как у модулей, которые вы используете, например: ваш модуль min sdk version равен 14, а ваше приложение min sdk version равно 9 Оно должно быть таким же.
- Если версия сборки вашего приложения и модулей не одинакова. Снова это должно build.gradle ** Короче говоря, ваш файл build.gradle и манифест приложения должны иметь одинаковые конфигурации **
- В файле манифеста нет дубликатов, подобных тем же разрешениям, что и дважды.
- Если вы удалили какую-либо деятельность из своего проекта, удалите ее из файла манифеста.
- Иногда его из-за метки, значка etc тега файла манифеста:
xmlns:tools ) Добавьте строку xmlns:tools в тег манифеста.
B) Добавить tools:replace= или tools:ignore= в теге приложения.
Рассматривая вышеуказанные моменты, вы избавитесь от этой раздражающей проблемы.
В дополнение к доступным решениям, пожалуйста, проверьте это.
Если вы установили android:allowBackup=»false» в вашем AndroidManifest.xml тогда может возникнуть конфликт для android:allowBackup=»true» в других зависимостях.
Решение
Как предложил @CLIFFORD PY, переключитесь на Merged Manifest в вашем AndroidManifest.xml . Android Studio предложит добавить tools:replace=»android:allowBackup» в в вашем AndroidManifest.xml .
Я столкнулся с той же проблемой, и я добавил одну строку в свой манифест. Xml, и это сработало для меня.
Надеюсь, это поможет.
Обычно возникает, когда у вас есть ошибки в вашем манифесте. Откройте AndroidManifest.xml. Нажмите на объединенную вкладку манифеста. Здесь можно увидеть ошибки. Также есть предложения, упомянутые там. Когда у меня была аналогичная проблема при импорте com.google.android.gms .maps.model.LatLng, он предложил включить инструменты: overrideLibrary = «com.google.android.gms.maps» в тег приложения, и сборка была успешной.
- В приложении добавьте tools:replace=»android:icon, android:theme и
- В корневом манифесте добавьте xmlns:tools=»http://schemas.android.com/tools
- В корне добавить useOldManifestMerger true
Как новичок в Android Studio, в моем случае я перенес существующий проект из Eclipse в Android Studio и обнаружил, что было дублированное определение активности внутри моего Manifest.xml, которое не было выбрано Eclipse, было показано как Ошибка Gradle.
Я нашел это, перейдя в Консоль Gradle (внизу справа от экрана).
За последние несколько дней я тоже переживал ту же проблему. Но после, много исследований я наконец нашел решение для этого.
Чтобы решить эту проблему, вам нужно сделать следующее:
1. Убедитесь, что файл build.gradle вашего проекта и файл build.gradle модуля содержат одинаковые версии всех зависимостей.
2. Убедитесь, что ваш проект compileSdkVersion , buildToolsVersion , minSdkVersion и targetSdkVersion соответствует тому, который был добавлен в модули или библиотеки, которые вы добавили в проект.
Надеюсь это поможет.
Если после добавления модуля библиотеки Android вы получите эту ошибку.
Вы можете исправить его простым удалением android:label=»@string/app_name» из AndroidManifest.xml вашего модуля библиотеки Android
Произошло со мной дважды, когда я преломляю (переименовать с SHIFT + F6) имя поля в наших файлах, и он просит вас изменить его повсюду, и мы, не обращая внимания, меняем имя везде. Например, если у вас есть имя переменной «id» в вашем классе Java, и вы переименовываете его с помощью SHIFT + F6. Если вы не обратили внимание на следующее диалоговое окно, в котором вы спросите, где бы он ни изменил идентификатор, и отметьте отметку, все это изменит весь идентификатор в ваших файлах макета из нового значения.
Источник
Файл манифеста AndroidManifest.xml
Файл манифеста AndroidManifest.xml предоставляет основную информацию о программе системе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor (Редактор файла манифеста), который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения.
Назначение файла
- объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
- описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
- содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
- объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
- объявляет минимальный уровень API Android, необходимый для работы приложения;
- перечисляет связанные библиотеки;
Общая структура манифеста
Файл манифеста инкапсулирует всю архитектуру Android-приложения, его функциональные возможности и конфигурацию. В процессе разработки приложения вам придется постоянно редактировать данный файл, изменяя его структуру и дополняя новыми элементами и атрибутами.
Корневым элементом манифеста является . Помимо данного элемента обязательными элементами является теги и . Элемент является основным элементом манифеста и содержит множество дочерних элементов, определяющих структуру и работу приложения. Порядок расположения элементов, находящихся на одном уровне, произвольный. Все значения устанавливаются через атрибуты элементов. Кроме обязательных элементов, упомянутых выше, в манифесте по мере необходимости используются другие элементы.
Описание
Элемент является корневым элементом манифеста. По умолчанию Eclipse создает элемент с четырьмя атрибутами:
Атрибуты
объявляет разрешение, которое используется для ограничения доступа к определенным компонентам или функциональности данного приложения. В этой секции описываются права, которые должны запросить другие приложения для получения доступа к вашему приложению. Приложение может также защитить свои собственные компоненты (деятельности, службы, приемники широковещательных намерений и контент-провайдеры) разрешениями. Оно может использовать любое из системных разрешений, определенных Android или объявленных другими приложениями, а также может определить свои собственные разрешения.
android:name название разрешения android:label имя разрешения, отображаемое пользователю android:description описание разрешения android:icon значок разрешения android:permissionGroup определяет принадлежность к группе разрешений android:protectionLevel уровень защиты
Элемент запрашивает разрешение, которые приложению должны быть предоставлены системой для его нормального функционирования. Разрешения предоставляются во время установки приложения, а не во время его работы.
android:name имеет единственный атрибут с именем разрешения android:name. Это может быть разрешение, определенное в элементе
данного приложения, разрешение, определенное в другом приложении или одно из стандартных системных разрешений, например: android:name=»android.permission.CAMERA» или android:name=»»android.permission.READ_CONTACTS»
Наиболее распространенные разрешения
- INTERNET — доступ к интернету
- READ_CONTACTS — чтение (но не запись) данных из адресной книги пользователя
- WRITE_CONTACTS — запись (но не чтение) данных из адресной книги пользователя
- RECEIVE_SMS — обработка входящих SMS
- ACCESS_COARSE_LOCATION — использование приблизительного определения местонахождения при помощи вышек сотовой связи или точек доступа Wi-Fi
- ACCESS_FINE_LOCATION — точное определение местонахождения при помощи GPS
объявляет базовое имя для дерева разрешений. Этот элемент объявляет не само разрешение, а только пространство имен, в которое могут быть помещены дальнейшие разрешения.
определяет имя для набора логически связанных разрешений. Это могут быть как объявленные в этом же манифесте с элементом
разрешения, так и объявленные в другом месте. Этот элемент не объявляет разрешение непосредственно, только категорию, в которую могут быть помещены разрешения. Разрешение можно поместить в группу, назначив имя группы в атрибуте permissionGroup элемента
Источник
Сбой манифеста с множественными ошибками в Android Studio
Итак, я новичок в Android и Java. Я только начал учиться. Пока я экспериментировал с Intent , у меня возникла ошибка.
Я нашел здесь некоторые решения и попытался их реализовать, но это не сработало.
Это мой build.gradle:
Это мой AndroidManifest:
Это моя первая неделя с программированием, извините, если это действительно глупо. Я действительно новичок в этом и не нашел другого места, чтобы спросить. Извините, если я нарушил какие-либо правила
Откройте манифест приложения ( AndroidManifest.xml ) и нажмите Merged Manifest . Проверьте изображение ниже:
На изображении вы можете увидеть ошибку в правом столбце, попробуйте устранить ошибку. Это может помочь кому-то с той же проблемой. Узнайте больше здесь .
Итак, файл манифеста, показывающий неоднозначность.
Для меня это работает —
Поиск ошибок слияния в AndroidManifest.xml
Нажмите на объединенный манифест в AndroidManifest.xml
Вы можете увидеть ошибку слияния манифеста в правом столбце. Это может помочь решить эту проблему.
Я также столкнулся с теми же проблемами, и после долгих исследований нашел решение:
- Ваша минимальная версия SDK должна быть такой же, как и у используемых вами модулей, например: у вашего модуля минимальная версия SDK равна 14, а у вашего приложения минимальная версия SDK равна 9. Она должна быть такой же.
- Если сборка версии вашего приложения и модулей не совпадает. Опять же, он должен быть таким же ** Короче говоря, ваш build.gradle файл приложения и манифест должны иметь одинаковые конфигурации **
- В файле манифеста нет дублирования, например, одни и те же разрешения добавляются дважды, одна и та же активность упоминается дважды.
- Если вы удалили какое-либо действие из своего проекта, удалите его из файла манифеста.
- Иногда из-за метки, значка и т. Д. Тег файла манифеста:
а) Добавьте xmlns:tools строку в тег манифеста.
б) Добавить tools:replace= или tools:ignore= в тег приложения.
- Если две зависимости не совпадают с примером версии: вы используете зависимость для appcompat v7: 26.0.0 и для facebook com.facebook.android:facebook-android-sdk:[4,5) Facebook использует cardview версии com.android. поддержка: cardview-v7: 25.3.1 и appcompat v7: 26.0.0 использует cardview версии v7: 26.0.0, поэтому в двух библиотеках есть разногласия, и поэтому выдается ошибка
Ошибка: не удалось выполнить задачу «: app: processDebugManifest».
Ошибка слияния манифеста: Атрибут meta-data#android.support.VERSION@value value = (26.0.0-alpha1) из [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27: 9 -38 также присутствует в [com.android.support:cardview-v7:25.3.1] AndroidManifest.xml: 24: 9-31 value = (25.3.1). Предложение: добавьте ‘tools: replace = «android: value»‘ к элементу в AndroidManifest.xml: 25: 5-27: 41, чтобы переопределить.
Таким образом, используя appcompat версии 25.3.1, мы можем избежать этой ошибки
Источник