Компиляция приложений Android не создает ресурсы пакета
При попытке скомпилировать приложение Xamarin.Android я получаю ошибку компиляции:
Ошибка 3 Файл "obj\Debug\android\bin\packaged_resources" не существует. MyApp.UI.Droid
Эта ошибка возникла после внесения некоторых изменений (добавлены некоторые новые классы - не помню, что это было). Но я не изменял никаких параметров проекта и не удалял фактические файлы в папке obj
.
В чем причина этой ошибки и как я могу ее исправить?
Некоторая информация, которая может быть полезна:
- Проект представляет собой проект Cross-Platform PCL - проекты Core, Android и iOS.
- В проекте используется MVVM Cross
Ответы
Ответ 1
Я столкнулся с той же проблемой. Убедитесь, что ваши файлы ресурсов не содержат специальных символов
Фактическая ошибка, с которой вы можете столкнуться, следующая:
Invalid file name: must contain only [a-z0-9_.]
Измените многословность вывода сборки в visual studio, чтобы увидеть лучший выход журнала.
Ответ 2
У меня была такая же проблема.
Затем я просмотрел имена файлов ресурсов.
Решение:
Один файл использовал "-" в его имени. (недопустимый символ)
Затем я заменил "_" (подчеркивание).
PS:
= > имя файла: должно содержать только [a-z0-9 _.]
Ответ 3
Вам нужно будет отключиться, включив вывод Verbose. Что останавливает генерацию packaged_resources?
В VS2013 выберите "Инструменты" → "Параметры" → "Сборка и выполнение", выберите "подробность диагностики".
В VS2015 такая же опция находится в Инструментах → Параметры → Проекты и Решения → Сборка и Выполнение.
В моем случае это был символ дефиса в имени свойства action фильтра Intent, но выбор подробного вывода укажет на строку, в которой есть проблема.
Ответ 4
Выполните следующие действия, чтобы определить проблему:
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.
То, что находится выше этой ошибки, является причиной ошибки.
Ответ 5
Я также обнаружил, что удаление пакетов в Tools/Preview Channel и Android N AND ALSO Android SDK Build Tools rev 24, выполненное и обработанное. Это совершенно новый переносимый проект/android/ios
Ответ 6
Другая возможность заключается в том, что у вас есть проблема с установленными инструментами разработки Android SDK. Для меня, когда я удалил пакет для версии 24, он сработал.
Ответ 7
От Форумы Xamarin:
Прежде всего, перейдите и деинсталлируйте инструменты предварительного просмотра в своем Android файле sdk менеджер. Если вы не установили его, но все равно получите ту же ошибку, go и deinstall Инструменты Android SDK Build Rev. 24.
Проблема, которую мы имеем здесь, заключается в том, что если у вас есть Appcombat, RecyclerView или что-то подобное в вашем проекте, библиотека rev этих библиотеки ниже оборота 24. Они все еще находятся на 23.2.1, но не на обороте 24. Поэтому, если вы установили Build-Tools Rev 24 и хотите создать свой проект конструктор не может найти пакет ресурсов rev24 ваших библиотек.
Вы можете проверить его на своем собственном Go в диспетчере SDK и проверить "Устаревший". Затем перейдите в папку "Дополнительно" и там вы увидите "Библиотека поддержки Android (устаревшая версия) Rev 23.2.1. Затем проверьте, в вашей папке "Дополнительно" есть библиотека поддержки Android Rev 24. Нет? А также вот проблема. Мы получили обновление для инструментов сборки до и после должны ждать обновления библиотеки. Тогда мы все можем использовать Build Tools 24!
Так что только обновите BuildTools Rev 24, когда мы получили обновление для библиотек поддержки и библиотеки rev24.
Ответ 8
В основном проблема связана со специальным характером ИДЕНТИФИЧЕСКОГО НАЗНАЧЕНИЯ.
В моем случае, я все время получаю ошибку "Файл" obj\Debug\android\bin\packaged_resources "не существует.":
..\Resources\drawable\ company-app-log.png с - (дефис) между альфа-символами является основной причиной проблемы. p >
Ответ 9
Использование Xamarin Studio здесь -
Иногда это вызвано ошибками AXML.
Что, если вы включите подробные/диагностические настройки, вы можете
найдите выход сборки (или ваш выпуск упаковки) для слова ERROR.
![введите описание изображения здесь]()
Например, кто-то проверил в некоторых линиях AXML с -
андроида: Text = "что-то"
а прописная буква T вызывала эту ошибку -
Ресурсы/макет/Somefile.axml(11): ошибка APT0000: идентификатор ресурса не найден для атрибута 'Text' в пакете 'android'
Исправление ошибок исправлено исходное сообщение.
Ответ 10
Во-первых, я предлагаю вам изменить "show out put from" Build to Xamarin, чтобы увидеть реальную ошибку и ее данные, как показано в моем случае
Сначала
![Сначала ошибка не была прозрачной]()
И тогда
убедитесь, что вы правильно установили NDK. Это была проблема с моей,
и убедитесь, что каталог NDK также установлен
надеюсь, что это поможет кому-то
Ответ 11
Я просто потерял 7 часов своего дня. Знаешь, что я сделал?
Project.Droid -> Resources -> RightClick on the Resource.Designer.cs -> Delete
Я работает! > & Л;
ИЗМЕНИТЬ
Омг это действительно вернулось... Почему в Windows все время так много ошибок... серьезно..
Ответ 12
Такая же неприятная проблема со мной!
Но я нашел решение: внимательно прочитайте эту статью:
https://gxconsultancy.wordpress.com/2016/04/04/to-use-xamarin-or-not-to-us-xamarin/
Короче:
-
Убедитесь, что у вас есть JDK 32bits версии 8 по крайней мере - то же самое для JRE, входящего в комплект установки JDK от Oracle;
-
Задайте проект для использования отладчика Xamarin (щелкните правой кнопкой мыши ваш проект, нажмите "Свойства" / "Настройки Android" / "Упаковщик/Отладчик" );
-
И теперь самое странное: удалите папку app/Resources/drawable; иметь рабочий проект Xamarin и копировать свои "выталкиваемые" папки в неустойчивый проект (обычно есть несколько подпапок, например drawable-hdpi, drawable-mdpi и т.д.).
-
Восстановите свой проект Android.
Ответ 13
У меня была проблема, поэтому я удалил build-tools 24.0.0, и я использовал build-tools 23.0.3, и проблема была решена. Попробуйте!
Ответ 14
убедитесь, что ваши ресурсы не имеют специального символа или начинаются с номера
Ответ 15
Обнаружена такая же проблема в VS 2015 и Xamarin 7.2.0.7. В моем случае проблема возникла внезапно, и выяснилось, что проблема вызвана неправильным именем элемента в axml, прослеживается с использованием ответов Tiago выше.
Итак, я не нашел строку, которую сказал Tiago с aapt.exe, но затем я попытался найти ключевое слово failed
на выходе. Затем я обнаружил, что один говорит мне о margin
. В android маржа устанавливается с помощью android:layout_margin
. Я играл с элементом и забыл и положил android:margin
вместо этого, поэтому и почему это случилось так внезапно после стольких успешных побегов. Исправлено, и сборка выполнена успешно.
Ответ 16
В моем случае ошибка была вызвана тем, что я установил номер версии в манифесте 1.0. По-видимому, номер версии должен быть целым числом.
Ответ 17
Была та же проблема. Моя ошибка была в манифесте: у меня был код версии (номер версии), установленный в "1.0.0", и это было запрещено. Он принимает только целые числа, поэтому мне пришлось вернуться к "1".
Я перепутал код версии и имя версии.
Ответ 18
Для меня эта ошибка была вызвана наличием недопустимого значения атрибута в макете xml. У меня был
android:id="button"
изменив его на
android:id="@+id/button"
исправлена ошибка.
Ответ 19
Не уверен, что это поздний ответ, но это конкретное сообщение об ошибке происходит по одной из двух причин:
-
(Скорее всего, случай): В вашем файле макета вы, возможно, неправильно указали ресурс (drawable/image). Например, изображение находилось в пути к папке mipmap
, но вы указали его неправильно на путь к папке drawable
.
-
В нескольких комментариях может быть дефис или специальный символ в именах ваших ресурсов или начинается с числа. Однако учтите, что в этом конкретном случае вы будете чаще видеть ошибку aapt.exe has stopped
или appt.exe has exited with error code 1
. Я не уверен, что вы получите ошибку obj\Debug\android\bin\packaged_resources not found
. Мой опыт говорит, что пункт 1 выше имеет место.
Ответ 20
Получил эту ошибку в проекте Visual Studio 2017 Xamarin для Android в Windows.
После множества экспериментов с файлами ресурсов, которые я обнаружил, длина файла и расширение файла изображения в папке с возможностью переноса влияют на результат компиляции!
drawable/abcde.png - скомпилировано ok
drawable/abcdef.png - ошибка, "obj\Debug\android\bin\packaged_resources" не существует
Если переименовать образ в файл без расширения .png, скомпилированный без ошибок.
Провел много времени и был смущен: -/
Ответ 21
У меня была та же проблема. Чтобы решить, мне пришлось удалить все пакеты nuget из проекта droid и снова установить xamarin.forms(должна быть той же версией, используемой в других проектах).
Ответ 22
была та же проблема. Это было потому, что у меня был .png файл с символом "-" в нем. Просто представьте, что у любого из ваших ресурсов нет символа "-" дефиса