Add tools replace android value

добавить ‘tools: replace = «Android: value»‘ в элемент на AndroidManifest

Я следую учебному пособию по разработке HeadFirst для Android и столкнулся с проблемами после добавления: private ActionBarDrawerToggle boxToggle;

Элемент управления устарел, поэтому я следовал инструкциям в стеке, чтобы решить эту проблему, добавив com.Android.support:appcompat-v7:26.0.0-alpha1 к модулям приложения Зависимости

Но теперь я получаю следующие ошибки сборки:

Ошибка: не удалось выполнить задачу «: app: processDebugManifest».

Ошибка слияния манифеста: Атрибут meta-data#[email protected] value = (25.3.1) из [com.Android.support:recyclerview-v7:25.3.1] AndroidManifest.xml: 24: 9-31 .__ , также присутствует в [com.Android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27: 9-38 value = (26.0.0-alpha1) . Предложение: добавьте ‘tools: replace = «Android: value»‘ к элементу в AndroidManifest.xml: 22: 5-24: 34, чтобы переопределить.

Проблема в том, что все библиотеки поддержки с одинаковой версией и основной версией должны соответствовать версии SDK компиляции.

Поэтому попробуйте принудительно установить конкретную версию библиотеки поддержки . Поместите это в конец вашего модуля приложения в build.gradle .

Сначала добавьте эту строку в ваш тег манифеста, если у вас еще нет:

Затем добавьте этот метатег в ваше приложение, чтобы перезаписать вашу версию инструментов сборки, в данном случае, например, я выбрал версию 25.3.1.

Изменены все версии библиотеки поддержки на 25.3.1 и работали как шарм:

Вам также необходимо изменить следующие параметры на 25:

Источник

Android Manifest merge conflict (backup rules) #9

Comments

ljwan12 commented Jan 14, 2020

tools:replace specified at line:20 for attribute android:fullBackupContent, but no new value specified

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

ljwan12 commented Jan 14, 2020

  • What went wrong:
    Execution failed for task ‘:android:processReleaseManifest’.

Manifest merger failed : Attribute application@fullBackupContent value=(@xml/vungle_backup_rule) from [com.vungle:publisher-sdk-android:6.4.11] AndroidManifest.xml:19:9-60
is also present at [com.appsflyer:af-android-sdk:4.11.0] AndroidManifest.xml:14:18-73 value=(@xml/appsflyer_backup_rules).
Suggestion: add ‘tools:replace=»android:fullBackupContent»‘ to element at AndroidManifest.xml:19:5-95:19 to override.

elitvynov commented Apr 23, 2020

  • What went wrong:
    Execution failed for task ‘:android:processReleaseManifest’.

Manifest merger failed : Attribute application@fullBackupContent value=(@xml/vungle_backup_rule) from [com.vungle:publisher-sdk-android:6.4.11] AndroidManifest.xml:19:9-60
is also present at [com.appsflyer:af-android-sdk:4.11.0] AndroidManifest.xml:14:18-73 value=(@xml/appsflyer_backup_rules).
Suggestion: add ‘tools:replace=»android:fullBackupContent»‘ to element at AndroidManifest.xml:19:5-95:19 to override.

Did you find any solution? I have this problem too

elitvynov commented Apr 28, 2020

This is working, thank you

syrakozz commented May 3, 2020

but it takes forever while building

Cotel commented May 8, 2020

I’m having a similar issue 😢

In the main manifest allowBackup is set to false. The task is failing for a dynamic module.

ManakaMichihito commented May 14, 2020

I have the same problem.

fullBackupContent is not only used by AppsFlyer.
There is also a library that dynamically sets fullBackupContent just like AppsFlyer.
We cannot always do a manual merge.

lfg-ryan commented May 14, 2020

I have the same problem. Vungle is also using this and I can’t tell how to merge them in Unity when all of this is auto-generated stuff.

ManakaMichihito commented May 21, 2020

AppsFlyer support only answers manual merges, no matter how many times we explain it, it doesn’t fix the issue.

ManakaMichihito commented May 22, 2020 •

They don’t seem to present anything other than manually merging AndroidManifext.xml.
The answer was an inquiry to Unity technologies.

tools: replace = «android: fullBackupContent»
If there is a person to go and solve

Is required:
android:fullBackupContent=»true»
&
AppsFlyer’s FullBackup rules
(XML : full-backup-content tag)

They said:
«We have to do this in order to do the attribution and tracking accurately, if not, the reinstall will always retrieve the old install data which should be deleted.»

VladimirKuzmin-azur commented Jul 14, 2020 •

android:fullBackupContent=»@xml/appsflyer_backup_rules» tools:replace=»android:fullBackupContent
This works just fine for me. Mediation Debugger also shows that Vungle if fine. But I am little worried for Vungle backup-ing.
Could some android sensei tell if this is fine solution or not?
p.s. doing this from Unity’s main manifest

m-kul commented Jan 8, 2021

This is working, thank you

Can anybody clarify, in which manifest file we need to add this? I cannot find appsflyer’s manifest file.

af-vs commented Jan 14, 2021

We see that this issue is indeed confusing and would like to elaborate a bit extra on this matter.

TL;DR

  • If you don’t wantAuto Backup — just set android:allowBackup=»false» in AndroidManifest and you are good to go
  • If you wantAuto Backup — you have to:
  1. Manually merge backup rules from conflicting SDKs such as Vungle and AppsFlyer (there could be more) into your own XML file (e.g. @xml/merged_backup_rules ).
  2. Specify this file by setting 2 attributes in AndroidManifest:
    • android:fullBackupContent=»@xml/merged_backup_rules» (to use your own rules)
    • tools:replace=»android:fullBackupContent» (to give your rules higher priority than rules from any SDK) in AndroidManifest

Some background:
Since Android 6.0 (API level 23) Android has an Auto Backup feature that will back up the app’s data into Google Drive every now and then automatically. This is enabled by default but may cause problems to some service providers like AppsFlyer and Vungle. The reason is that we save some data into SharedPreferences which are being backed up by Android, but we don’t expect this data to retain between installs. If this data is restored after the user reinstalls the app, we may report attribution for this app incorrectly. I assume, Vungle SDK has some similar challenges.

Since AppsFlyer uses AAR to distribute the library, together with the library jar we package AndroidManifest in which we specify backup rules that are important for our SDK to function properly. Unfortunately, Android as of today doesn’t have a solid merge mechanism so in case you have 2 libraries with conflicting values for the same attribute in AndroidManifest you get different kinds of merging conflict errors.

The only solution we can see for now without harming other SDKs is to merge such conflicts manually

As a result you should have this file with merged rules:

Источник

добавить ‘tools: replace = «Android: value»‘ в элемент на AndroidManifest

Я слежу за учебным пособием в разработке HeadFirst Android и столкнулся с проблемами после добавления: частный ActionBarDrawerToggle drawerToggle;

Элемент управления был устаревшим, поэтому я выполнил инструкции по Stack для решения этой проблемы, добавив com.android.support:appcompat-v7:26.0.0-alpha1 в модули приложения. Зависимости

Но теперь я получаю следующие ошибки сборки:

Ошибка: выполнение выполнено для задачи ‘: app: processDebugManifest’.

Не удалось выполнить манифест слияния: атрибут meta-data#[email protected] value = (25.3.1) из [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml: 24: 9- 31 также присутствует в [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27: 9-38 value = (26.0.0-alpha1). Предложение: добавьте «tools: replace =» android: значение «» на элемент в AndroidManifest.xml: 22: 5-24: 34 для переопределения.

ОТВЕТЫ

Ответ 1

Проблема в том, что все библиотеки поддержки с одинаковой версией и основной версией должны соответствовать компилируемой версии SDK.

Поэтому попробуйте принудительно установить определенную версию библиотеки поддержки. Поместите это в конец вашего модуля приложения в build.gradle .

Ответ 2

Сначала добавьте эту строку в ваш тег манифеста, если у вас еще нет:

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

Ответ 3

Изменены все версии поддерживающих библиотек до 25.3.1 и работают как обаяние:

Вам также необходимо изменить следующие параметры на 25:

Ответ 4

Ответ 5

Откройте Android Studio → Открыть файл манифеста

Добавьте . Не забудьте также включить xmlns:tools=»http://schemas.android.com/tools» перед тегом

Ответ 6

это будет работать @Ambilpura.

Ответ 7

  1. В Android Studio → Открыть файл манифеста
  2. Переключитесь на Merged Manifest и проверьте файл Other Manifest.

В моем случае я использую файлы поддержки 26.1.0, но обнаружил, что support-v13 — это 26.0.1

Поэтому я добавил в файл Gradle implementation ‘com.android.support:support-v13:26.1.0’ и проблема решена.

Ответ 8

ответ by @sagar giri — временная работа. что я сделал, чтобы решить это, объясняется в конце.

Если у вас установлена ​​последняя библиотека поддержки в последней студией Android, и если у вас есть старая версия библиотеки поддержки в модуле приложения gradle, то андроид-студия выходит из строя из-за несоответствия версии.

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

надеюсь, что это поможет.

Ответ 9

Этот код решил мою проблему

«Проблема в том, что все библиотеки поддержки с одинаковой версией и основной версией должны соответствовать версии SDK компиляции.

Источник

добавьте ‘tools:replace= «Android:value»‘ к элементу на AndroidManifest

Я следую учебнику по разработке HeadFirst Android и столкнулся с проблемами после добавления: частный ActionBarDrawerToggle drawerToggle;

Элемент управления устарел, поэтому я последовал инструкциям на стеке, чтобы решить эту проблему, добавив com.android.support:appcompat-v7: 26.0.0-alpha1 к зависимостям модулей приложения

Но теперь я получаю следующие ошибки сборки:

Error:Execution не удалось выполнить задание ‘:app:processDebugManifest’.

Ошибка слияния манифеста: метаданные атрибута#android.support.VERSION@value value=(25.3.1) from [com.android.support:recyclerview-v7: 25.3.1] AndroidManifest.xml:24:9-31 также присутствует в [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1). Предложение: добавьте ‘tools:replace= «android:value» ‘ к элементу at AndroidManifest.xml:22:5-24:34 для переопределения.

10 ответов

Я пишу библиотеку Android, которая использует Sugar Orm для хранения вещей в базе данных SQLite. AndroidManifest.xml моей Android библиотеки. Ошибка, которую я получаю, такова: Error:(13, 9) Attribute application@name value=(com.example.app.App) from AndroidManifest.xml:13:9 Error:(20, 13).

Мне нужно перейти от цифр к Firebase . Так что в моем app/build.gradle compile ‘com.firebaseui:firebase-ui-auth:2.3.0’ compile ‘com.google.firebase:firebase-auth:11.0.4’ compile com.android.support:design:26.1.0 compile com.android.support:customtabs:26.1.0 compile.

Проблема в том, что все библиотеки поддержки с одной и той же версией и основной версией должны соответствовать версии compile SDK.

Поэтому попробуйте принудительно установить конкретную версию библиотеки поддержки. Поместите это в конце вашего модуля приложения в build.gradle .

Сначала добавьте эту строку в тег манифеста, если у вас еще нет:

Затем добавьте этот мета-тег в свое приложение, чтобы перезаписать версию инструментов сборки, в этом случае, например, я выбрал версию 25.3.1

Изменил все версии библиотеки поддержки на 25.3.1 и работал как заклинание:

Вам также необходимо изменить следующие параметры на 25:

это сработает @Ambilpura.

Я создал модуль библиотеки android и разместил его на своем Github. Однако библиотека конфликтует со значками и версиями проектов Android Studio. При добавлении к gradle моего проекта Android отображаются следующие ошибки: Ошибка слияния манифеста: метаданные атрибута#android.support.VERSION@value.

когда мы пытаемся построить android с помощью cordova phone-gap, эта ошибка возникает :mergeDebugResources :processDebugManifest D:\Android\ThePlug\platforms\android\AndroidManifest.xml:27:9-31 Error: Attribute meta-data#android.support.VERSION@value value=(25.3.1) from.

Открыть Android Studio -> Открыть файл манифеста

Добавить . Не забудьте также включить xmlns:tools=»http://schemas.android.com/tools» перед тегом

  1. В Android Studio -> Открыть файл Манифеста
  2. Переключитесь на Объединенный манифест и проверьте Другой файл манифеста.

В моем случае я использую файлы поддержки 26.1.0, но нашел поддержку-v13-это 26.0.1

Поэтому я добавил implementation ‘com.android.support:support-v13:26.1.0’ в файл Gradle, и проблема решена

ответ @sagar гири-это временное решение проблемы. то, что я сделал, чтобы решить эту проблему, объясняется в конце.

Если у вас установлена последняя версия библиотеки поддержки в последней версии android studio и если у вас есть старая версия библиотеки поддержки в модуле приложения build gradle, то android studio завершится неудачей из-за несоответствия версий.

Поэтому обновите версию библиотеки поддержки до последней версии и исправьте последние изменения в библиотеке поддержки, такие как переименование значков и т. Д., И перестройте ее.

надеюсь, это поможет.

Этот код решил мою проблему

«Проблема в том, что все библиотеки поддержки с одной и той же версией и основной версией должны соответствовать версии compile SDK.

Поэтому попробуйте принудительно установить конкретную версию библиотеки поддержки. Поместите это в конец вашего модуля приложения в build.gradle.»

добавьте ‘tools:replace=»android:value»‘ к элементу в AndroidManifest.xml:22:5-24:34 для переопределения. добавить в строку AndroidManifest.xml:22

Похожие вопросы:

Я использую библиотеку, которая использует свой собственный android:theme, и поэтому я получаю следующую ошибку при построении: Ошибка:(55, 9) не удалось выполнить задачу.

Я пытаюсь использовать библиотеку, которая имеет это в своем AndroidManifest.xml:

Конфликт в библиотеке поддержки Android версий 25.3.1 и 26.0.0-alpha1 вызывает ошибку манифеста слияния при выполнении синхронизации Gradle. Как мы можем использовать тег со свойством tools:replace.

Я пишу библиотеку Android, которая использует Sugar Orm для хранения вещей в базе данных SQLite. AndroidManifest.xml моей Android библиотеки. Ошибка, которую я получаю, такова: Error:(13, 9).

Мне нужно перейти от цифр к Firebase . Так что в моем app/build.gradle compile ‘com.firebaseui:firebase-ui-auth:2.3.0’ compile ‘com.google.firebase:firebase-auth:11.0.4’ compile.

Я создал модуль библиотеки android и разместил его на своем Github. Однако библиотека конфликтует со значками и версиями проектов Android Studio. При добавлении к gradle моего проекта Android.

когда мы пытаемся построить android с помощью cordova phone-gap, эта ошибка возникает :mergeDebugResources :processDebugManifest D:\Android\ThePlug\platforms\android\AndroidManifest.xml:27:9-31.

Error:Execution не удалось выполнить задание ‘:app:processDebugManifest’ . Ошибка слияния манифеста : метаданные атрибута#android.support.VERSION@value value=(25.3.0) from.

Меня смущает использование значений в метаданных. Когда я даю метаданные действия, что он делает с android:value , который я ему даю? Что делает эта ценность? Пример `
Flutter AndroidManifest ошибка

Я только что перенес проект, построенный в более ранней версии Flutter и Android studio, на новую машину и обновленное программное обеспечение. При попытке построить свой проект Android в эмуляторе.

Источник

Читайте также:  Что такое трассировка для андроид
Оцените статью