Подтвердить что ты не робот

Как диагностировать ошибку "Ошибка выполнения aapt" в Eclipse?

Я готов вырвать волосы, потому что я не могу заставить Eclipse отклеиваться от состояния, где он думает, что не может найти aapt:

Error executing aapt. Please check aapt is present at /usr/local/android-sdk-linux_x86/platform-tools/aapt

Я нашел несколько сообщений по этому вопросу, которые предполагают удаление ошибки в пользовательском интерфейсе Eclipse, удаление R.java, восстановление проекта, перезапуск Eclipse и т.д. Эти вещи помогают временно, но как только я редактирую XML файл, Eclipse снова закручивается. Это становится очень раздражающим, чтобы перестроить весь исходный код и перезапустить Eclipse каждый раз, когда я меняю XML файл.

aapt явно там:

$ ls -l /usr/local/android-sdk-linux_x86/platform-tools/aapt
-rwxr-xr-x 1 boris boris 3764858 2011-07-28 11:50 /usr/local/android-sdk-linux_x86/platform-tools/aapt

Есть ли способ точно узнать, что такое ошибка? Я попытался посмотреть на выходе консоли Eclipse и в .metadata/.log в моем проекте и не видел ничего связанного.

4b9b3361

Ответ 1

Убейте это снова сегодня и обнаружил, что подробный вывод от aapt не помогает. Он просто выплевывает команду aapt на консоль и выходит из строя без ошибок.

Я думаю, что, наконец, я понял, что происходит не так. Я считаю, что апат терпит неудачу из-за недостаточной памяти. В моем процессе Eclipse использовалось 1,2 ГБ памяти. Когда Eclipse запускает aapt, он разворачивает процесс, который, как я понимаю, выделяет еще 1,2 ГБ только для запуска aapt.

Я просмотрел список процессов и увидел, что Firefox использует почти 400 МБ памяти. Я убил Firefox, а затем аапт начал работать. Сумасшедший.

Ответ 2

Наконец нашел ответ на мой вопрос здесь:

http://groups.google.com/group/android-developers/browse_thread/thread/bad9d488d2068260

Оказывается, вы можете увидеть команду aapt и вывести, установив "Build output" в "Verbose" в Preferences/Android/Build. Странно, что они не выплевывают вывод при возникновении ошибки.

Ответ 3

В моем случае (новая установка Eclipse, новый проект, созданный с помощью мастера, такие ошибки, как "Не удалось разрешить переменную R в переменной" ), проблема оказалась отсутствующей конечной косой чертой в пути к Android SDK на Preferences- > Android.

Ответ 4

Подсказка (предложенная Eclipse на Ubuntu): в 64-битных системах убедитесь, что установлены 32-битные библиотеки: sudo apt-get install ia32-libs

Это решило мою проблему!

Ответ 5

У меня было это из-за ошибочного идентификатора в одном из файлов ресурсов. Я использую Android Studio (но не gradle), и я имел в объявлении стиля ссылку на @+id/..., которая не разрешена, по-видимому. Я должен был объявить ID в другом файле xml-значений как <item type="id" name="..." />.

Ответ 6

Эта ошибка может быть вызвана недопустимым идентификатором, например

        android:icon="@drawable/ic_action_search_whatever"

Если нет выделенного вызова ic_action_search_, то какой бы умник не погиб. Простая ошибка, но не простая отладка!

Ответ 7

В моем случае "Android SDK Build Tools" (версия 20.0) как-то сломался. Поэтому я обновил инструмент до последней версии (21.1), используя "Android SDK Manager" и voila - все получилось:).

Ответ 8

Aapt - это 32-битное приложение. Я бегу ubuntu 64bit. Мне нужны были дополнительные библиотеки. Чтобы получить работу aapt (это также устранило мои проблемы с avd), просто запустите эти две команды:

sudo apt-get install lib32stdС++ 6

sudo apt-get install lib32z1

Наслаждайтесь

Ответ 9

Я действительно заметил, что я преобразовал файл jpg в файл png, из-за чего произошла ошибка aapt.