«Aapt.exe» вышел с кодом 1 при создании Mono для Android-проекта

Я собрал довольно простое приложение Mono для Android, которое делает не что иное, как воспроизведение «AndroidResource» MP3 в фоновом режиме (скопировано из последней статьи журнала Visual Studio Magazine о фоновых сервисах в MfA ). Я поместил код вместе со своим собственным MP3-файлом и попытался его построить, только чтобы получить эту прекрасную ошибку.

"aapt.exe" exited with code 1 

Это единственная информация в списке ошибок и построение журнала вывода.

Шаг 1: получите больше информации

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

В диалоговом окне «Параметры Visual Studio» перейдите к «Проекты и решения», затем «Построить и запустить». Переключите «многословность сборки проекта MSBuild» с «Minimal» на «Normal» и снова создайте проект. После этого я получил это сообщение, которое было гораздо более полезным. По-видимому, ресурсы не могут включать ничего, кроме букв, цифр, периодов и подчеркиваний ( [a-z0-9_.] ).

MSBuild стандартная запись в многословиях

Решение

Переименуйте файл в требуемые ограничения и снова создайте.

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

Аналогичное решение для меня, мне нужно было удалить тире ('-') из моих PNG-файлов в папке ресурсов

В проектах Mono.Android эта ошибка возникает, когда файл axml Resource / Layout имеет пробелы в имени, например. «Копировать xxxx.xaml»

В проектах Mono.Android эта ошибка может возникнуть, когда имя ресурса / Drawable – в имени, например: «File-Name.png попробуйте с подчеркиванием:« File_Name.png »,

Да, не забудьте:

  1. Ресурсы, изображения, активы, макет тополя, начинающийся с барабанщиков
  2. Чтобы проверить имена файлов с пробелами. (У меня была эта проблема. Один из моих макетов имел конечное пространство перед расширением «.axml»)
  3. Чтобы проверить, есть ли у любого из ваших изображений, ресурсов, файлов, макетов или других объектов дефис (-). Они не должны быть там.

Для меня это проблема с именем ресурса. Одна из моих фотографий была из MonoTouch, и поэтому ее имя файла включало «@ 2x» в имени файла. После удаления этого файла aapt.exe больше не жаловался и решение было построено.

Выполните следующие действия, чтобы определить проблему:

1 – В Visual Studio: Инструменты> Параметры> Проекты и решения> Сборка и запуск.

1.1 – В раскрывающемся списке: многострочный вывод сборки проекта MSBuild:> Диагностика.

1.2 – Закройте диалоговое окно.

2 – Вид> Вывод (Ctrl + W, O).

3 – Запустите сборку или перестройте.

На выходе найдите эту строку:

C: \ Program Files (x86) \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1665.3): ошибка MSB6006 «aapt.exe» завершена с кодом 1

То, что находится выше этой ошибки, является причиной ошибки.

Проверьте свои изображения / png (ы) в папке «Допустимые». Это дало мне ошибку из-за изображения png, как только оно исключено из проекта. Работает отлично…

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

Intereting Posts
Сетка RecyclerView с различными размерами элементов Как получить IntelliJ IDEA, чтобы сделать правильный отступ тегов xml с атрибутами на нескольких строках? Аннотация @UiThreadTest создает «java.lang.Exception: no runnable methods» Получить список пользователей ListView, которые не отображаются Автоматически принимать все лицензии SDK Отслеживание ссылок – не работает, когда приложение установлено через браузер для настольных компьютеров Proguard дает ошибки с AWS SDK для Android Доступ к методу из фрагмента в кнопке Щелчок из MainActivity NotifyDataSetChanged не работает с RecyclerView Как выйти из браузера Twitter в приложении в Android? Android Instrumentation test java.lang.UnsatisfiedLinkError при использовании AndroidJunitRunner и AndroidJUnit4 Кнопка меню панели действий дисплея Asynctask, размеры, ожидаемые после этого токена Обработка отсутствующей кнопки MENU в новых версиях Android (3.x и выше) Ошибка YouTubePlayerSupportFragment и AppCompatActivity