Android Eclipse Ошибка выполнения aapt: код возврата 139
У меня есть проект приложений для Android, который внезапно перестает работать. По-видимому, нет ошибки, но когда я пытаюсь запустить, я получаю следующее:
Ошибка выполнения aapt: код возврата 139
Я попытался очистить проект и проект зависимой библиотеки, перезапустить Eclipse, обновить до последних версий ADT и SDK и т.д., но все не удалось. Иногда у меня есть и другая ошибка (без изменения чего-либо):
Ошибка создания окончательного архива: java.io.FileNotFoundException:... /bin/resources.ap_ не существует
Я полностью потерял.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Я потратил несколько часов, чтобы разобрать и собрать все по частям, и, наконец, нашел, что вызывает эти ошибки, хотя я все еще не понимаю ничего лучшего... У меня был такой ресурс:
<resources>
<integer-array name="titi">
<item>@+id/toto</item>
</integer-array>
</resources>
Я удалил его, и все снова работало... Конечно, файл ресурсов не имел никакой ошибки. Полдня потерял зря, это Затмение сводит меня с ума 8-/Я единственный?
Ответы
Ответ 1
У вас была такая же проблема, и проблема заключалась в том, что у меня был файл меню внутри папки меню, в котором был android:title="@string/.."
, который не существовал в моем файле строк. После добавления и выполнения Project > Clean
проблема исчезла.
Ответ 2
Не используйте @+id/...
здесь:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer-array name="titi">
<Item>@+id/Toto</item>
</integer-array>
</resources>
@+id/...
может использоваться только в ресурсах компоновки.
Используйте @id/...
и при необходимости создайте идентификаторы с помощью файла ресурсов справки:
Рез/значения/ids.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="toto" />
</resources>
http://developer.android.com/guide/topics/resources/more-resources.html#Id
Ответ 3
Я просто удалил проект из Android v7 appcompat support library и столкнулся с этой проблемой. Оказывается, у меня была куча файлов ресурсов меню, которые все еще использовали версию appcompat некоторых своих свойств.
Я имел это:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/conversations_activity_menu_contacts"
android:title="@string/contacts"
compat:showAsAction="ifRoom|withText" />
</menu>
Но затем исправить проблему, изменив их на это:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/conversations_activity_menu_contacts"
android:showAsAction="ifRoom|withText"
android:title="@string/contacts" />
</menu>
Ответ 4
Ударьте ту же самую проблему, после часа или около того, чтобы воспроизвести проблему, был вычислен до одной цитаты "", присутствующей в ресурсе. Удалена цитата, и ошибка исчезла.
Ответ 5
Ошибки AAPT иногда возникают из-за недостаточной памяти для запуска eclipse. См.
Как диагностировать "Ошибка при выполнении aapt" ошибка в Eclipse?
Для второй части вашей проблемы см. это:
Проблема с упаковкой Android: resources.ap_ не существует