"aapt.exe" вышел с кодом 1 при создании Mono для Android-проекта
Я собрал довольно простое приложение Mono для Android, которое ничего не делает, как воспроизводить MP3 файлы AndroidResource в фоновом режиме (скопировано из Greg Shackles last Visual Studio Magazine статья о фоновых услугах в MfA). Я поместил код вместе со своим собственным MP3 файлом и попытался его построить, только чтобы получить эту прекрасную ошибку.
"aapt.exe" exited with code 1
Это единственная информация в списке ошибок и сборка выходного журнала.
Ответы
Ответ 1
Шаг 1: получите дополнительную информацию
Если вы столкнетесь с этой ошибкой, надеюсь, вы также столкнетесь с сообщением от Джонатана Прайра, отвечая кому-то другому с той же проблемой. Предложение состоит в том, чтобы включить более подробное ведение журнала из MSBuild, чтобы узнать, получаете ли вы что-то полезное из этих сообщений.
В диалоговом окне "Параметры Visual Studio" перейдите к "Проекты и решения", затем "Построить и запустить". Переключите "многословность сборки проекта MSBuild" с "Minimal" на "Normal" и снова создайте проект. После этого я получил это сообщение, которое было гораздо более полезным. По-видимому, ресурсы не могут включать ничего, кроме букв, цифр, периодов и подчеркиваний ([a-z0-9_.]
).
![MSBuild normal verbosity logging]()
Решение
Переименуйте файл в требуемые ограничения и снова создайте.
Хотя это сообщение об ошибке может возникнуть в гораздо большем количестве ситуаций, чем проблемы ограничения имен файлов, изменение имени файла полностью исправило эту проблему.
Ответ 2
Аналогичное решение для меня, мне нужно было удалить тире ('-') из моих PNG файлов в папке ресурсов
Ответ 3
В проектах Mono.Android эта ошибка возникает, когда файл axml Resource/Layout имеет пробелы в имени, например. "Копировать xxxx.xaml"
Ответ 4
В проектах Mono.Android эта ошибка может возникнуть, когда имя ресурса /Drawable имеет имя - в имени, например: "File-Name.png
попробуйте с подчеркиванием: "File_Name.png"
Ответ 5
Да, не забудьте:
- Ресурсы, изображения, активы, макет axml, начинающийся с mumbers
- Чтобы проверить имена файлов с пробелами. (У меня была эта проблема. Один из моих макетов имел конечное пространство перед расширением ".axml" )
- Чтобы проверить, есть ли у любого из ваших изображений, ресурсов, файлов, макетов или других объектов дефис (-). Они не должны быть там.
Ответ 6
Для меня это была проблема с именем ресурса. Одна из моих фотографий была из MonoTouch, и поэтому ее имя файла включало "@2x" в имени файла. После удаления этого файла aapt.exe больше не жаловался и решение было создано.
Ответ 7
Чтобы определить проблему, выполните следующие действия:
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
То, что находится выше этой ошибки, является причиной ошибки.
Ответ 8
Проверьте свои изображения /png в папке "Допустимые". Это дало мне ошибку из-за изображения png, как только оно исключено из проекта. Прекрасно работает...
Ответ 9
Я разрешил это, удалив портативную библиотеку, которая содержит бизнес-логику от андроида, а затем перестроит ее отдельно. После восстановления, очистите свой проект Android и снова добавьте ссылку в свою портативную библиотеку классов. Наконец, создайте проект андроида