Xamarin. Android, AndroidManifest. xml, AndroidManifestMerger, xmlns: схема инструментов, всегда заменять вручную - PullRequest
1 голос
/ 20 июня 2020

При компиляции моего приложения Xamarin Forms Android, Visual Studio, покажите мне список ошибок AndroidManifest. xml конфликт, например:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(3,3): Error AMM0000:  is also present at AndroidManifest.xml:14:9-41 value=(@string/app_name). (AMM0000)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(3,3): Error AMM0000:  Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:19:3-79:17 to override. (AMM0000)

Итак, я открываю AndroidManifest. xml из папку отладки, замените инструментами: замените в тег приложения, добавьте схему инструментов в тег манифеста, сохраните ее, перекомпилируйте мое приложение, и оно запустится без ошибок. приложение, должно выполнить предыдущие шаги ВРУЧНУЮ .

Я также добавляю <AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger> в свой Android .csproj

Эта проблема проявляется в режимах DEBUG и RELEASE !!

Среда

  • Visual Studio Community 2019 для Ma c Версия 8.6.4
  • Xamarin Forms = 4.7.0.968
  • Xamarin. Android = Версия: 10.3.1.4

Ответы [ 2 ]

3 голосов
/ 28 июня 2020

Это проблема с Xamarin Forms 4.6.0.967 и выше. Для меня это было спровоцировано использованием NuGet-пакета Honeywell.BarcodeReader.

Некоторые пакеты AndroidX перезаписывали слияние манифеста Xamarin по умолчанию (скоро станет устаревшим) с manifestmerger.jar.

A обходным путем является переход на более раннюю версию Xamarin Forms 4.6.0.847 или изменение вашего AndroidManifest. xml, чтобы иметь такой элемент приложения:

<application android:label="@string/app_name" tools:replace="android:label" ...

или, если есть другие конфликты:

<application android:label="@string/app_name" tools:node="replace"...

Вам также потребуется добавить в манифест следующее пространство имен в качестве атрибута:

xmlns:tools="http://schemas.android.com/tools"
0 голосов
/ 13 августа 2020

Попробуйте очистить и восстановить решение.

Build > Clean Solution

Build > Rebuild Solution

У меня это сработало.

...