Неожиданный элементнайдено в манифесте - PullRequest
0 голосов
/ 10 октября 2019

Я использую библиотеку org.apache.legacy в своем проекте xamarin. Я добавил тег <uses-library> в мой файл манифеста, но я получаю ошибку при сборке проекта, которая говорит:

Unexpected element <uses-library> found in manifest.

Также, когда я пытаюсь комментировать эту строку, он возвращается при построении решения.

Ответы [ 3 ]

0 голосов
/ 15 октября 2019

Хорошо, один из моих коллег нашел решение, но это странно. Итак, для контекста мы используем Visual Studio для Mac, поэтому он может быть не на 100% совместим с Windows. Проблема, которую мы обнаружили, заключалась в том, что Visual Studio имеет несколько различных представлений для файла AndroidManifest.xml, и одно из представлений было изменено в некоторый момент в прошлом.

  • Представлением по умолчанию является представление на основе пользовательского интерфейса с входными данными и тем, что не помогает при работе с файлом.
  • Второй вид - когда вы щелкаете правой кнопкой мыши по файлу манифеста и используете OpenWith -> 'Source Code editor'. Это представление является минималистичным представлением манифеста в xml, которое можно редактировать. Здесь вы также должны найти проблемную строку о библиотеке apache, которой нет в теге приложения, как должно быть. Итак, вы можете удалить это здесь.
  • Третье представление является сгенерированным манифестом, и его можно найти, следуя сообщениям об ошибках, выводимым средой IDE, о теге users-library.

Представление интерфейса манифеста -> Промежуточный манифест xmlview -> Manifest сгенерированный файл

Кажется, что вы можете изменить только одну версию файла манифеста в xml, так как другая всегда будет перезаписывать ваши изменения. Следуя сообщению об ошибке, вы получаете только конечный результат, а не промежуточный манифест, который действительно можно редактировать, и сохранить его изменения. Давным-давно в нашем проекте произошла модификация манифеста, которая только сейчас выдает ошибки в новейшей версии Visual Studio.

Предлагаемое исправление - не следовать сообщению об ошибке, чтобы открыть манифест, а вместо этого открыть файл манифеста в формате xml raw. Это будет файл меньшего размера, чем сгенерированный, поэтому поищите его, чтобы знать, что вы находитесь в нужном месте. Удалите строку библиотеки использований, которая неправильно размещена за пределами тега приложения, и сохраните. Надеюсь, это поможет кому-то другому, потому что он определенно застал меня на несколько часов.

0 голосов
/ 16 октября 2019

Итак, потратив несколько ночей на эту глупую ошибку, я с нуля создал совершенно новое приложение и настроил / установил все пакеты и SDK для использования Google Maps в родном Xamarin android, и на этот раз я поместил тег в тег приложения иустановил приложение на моем устройстве, и оно работало абсолютно нормально. Надеюсь, это поможет !! Ура !!

0 голосов
/ 10 октября 2019

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

проблема с компилятором, который жалуется на ту же строку, даже если вы измените ее, скорее всего, можно решить, перезапустив Xamarin studio, а затем очистив проект и восстановив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...