Xamarin - Исправление ошибок "Не удалось выполнить задачу Aapt неожиданно"

Я сталкиваюсь с проблемой при создании или создании моего проекта дроида. Я обновил свой Android SDK, но проблема все еще в моем решении. Пожалуйста, предложите мне, как удалить эту проблему.
введите описание изображения здесь

Я пробовал много решений, которые находятся в google, но проблема все еще возникает.

Ответ 1

Для меня предоставление 2.1 в свойствах Version Number свойств проекта дало эту ошибку. Поэтому после изменения его на 2, проект был успешно выполнен. подсвеченная ошибка

Ответ 2

Как ссылается на вышеупомянутую Почту Милена Павлова, а именно:
https://forums.xamarin.com/discussion/39861/latest-update-aapt-task-failed-unexpectedly.

Похоже, что ваш Droid CS.Proj содержит две ссылки одного и того же файла. Итак, откройте его в "Блокноте" и тщательно отождествите дублирующую ссылку и удалите ее.

ИЛИ

Если у вас есть недавняя резервная копия вашего проекта, вы можете сравнить Droid CS.Proj с существующим Droid CS.Proj, чтобы фильтровать новые изменения и затем идентифицировать дублирующиеся ссылки.

Ответ 3

Я помню, как однажды я столкнулся с этой проблемой несколько дней назад после добавления изображения в папку ресурсов, имя которой было shopping_card.png. Я переименовал изображение в shoppingcard.png (удаление -) и проблема была решена.

В вашем случае также я думаю, что что-то не так с ресурсами. Вы когда-нибудь добавляли новый ресурс в последнее время? Попытайтесь удалить их, очистить, а затем восстановить проект надеемся, что это решает проблему.

Ответ 4

В конце концов мы решили эту проблему, пройдя некоторые другие ошибки, которые могут произойти (или нет) в соответствии с вашей собственной средой.

Есть эта старая ошибка Android https://code.google.com/p/android/issues/detail?id=80808

Это означает, что у Google была ошибка в старых версиях инструментальных средств для Android SDK (и, надеюсь, они исправили ее, как указано в приведенном выше URL-адресе). Во всяком случае, сообщение об ошибке, вероятно, объясняет, почему; это скорее всего из-за того, что ваш основной файл dex не содержит необходимых классов поддержки multiidex.

Одной из возможных причин проблемы является то, что dx.jar может быть старым и иметь проблему, упомянутую выше. Предполагая, что у вас есть достаточно современный Xamarin.Android, попробуйте установить новейшие компоненты Android SDK для сборки и удалить старые версии.

Или вместо того, чтобы удалять старые SDK-сборки, добавьте свойство сборки AndroidSdkBuildToolsVersion в файл .csproj в пределах некоторого активного:

<AndroidSdkBuildToolsVersion>23.0.1</AndroidSdkBuildToolsVersion>

В моем случае это вызвало другие ошибки, которые я решил с помощью JDK 1.8

После этого я столкнулся с следующим Xamarin Bug (Опция для multi-dex терпит неудачу, когда путь к Android SDK содержит пробел), которые могут быть решены путем размещения android-sdk в пути без пробелов (так, например, c:\program files (x86)\android\android-sdk не является допустимым адресом)

Вы также можете увидеть сообщение об ошибке из-за пути m2Repository, которое может быть решено благодаря информации по следующей ссылке https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/

Имейте в виду, что вам может потребоваться добавить/обновить/удалить пакеты/версию Android-sdk. Вот что сработало для меня.

введите описание изображения здесь

Элементы штриха в красном не нужны. Для меня было важно установить устаревшую версию библиотеки поддержки Android (23.2.1). (которая может сосуществовать с последней версией).

Ответ 5

Я также столкнулся с такой же ошибкой:

Выход aapt.exe с кодом -1

Это означает, что вы, вероятно, использовали или импортировали какой-либо носитель или изображение, и эти имена изображений содержат символы, конфликтующие в XML файле (поскольку Xamarin и Android используют много стилей разметки XML). Просто проверьте все элементы, которые вы импортировали извне своего проекта, и исправьте их имена (удалите все специальные символы, например - + */_, и еще)...

Ответ 6

В моем случае решение заключалось в том, чтобы перейти к свойствам проекта Android и удалить значения Version Number и Package Name. Я не знаю, почему это сработало. Если кто-то может объяснить, это поможет будущим посетителям этого вопроса.