внезапная ошибка при выполнении aapt

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

Моя проблема в том, что я могу использовать Eclipse для всего вечера программирования, компиляции и использования своего устройства, а затем внезапно получаю сообщение об ошибке выполнение aapt "для моего текущего проекта и, конечно же, R.java (правильно) больше не генерируется. Затем я перезапускаю Eclipse, и все исчезает. Однако я вижу это в среднем один раз в день.

Недавно я перешел на amd64 и установил последнюю версию Android-2.3 SDK и соответствующие инструменты. Я знаю, что теперь есть папка с инструментами платформы, в которой есть версия aapt, которая должна работать с версией SDK независимо. Сначала я добавил этот каталог в свой PATH, как указано на веб-сайте SDK. Я также старался не добавлять его в свой путь и создавать ссылки на платформы / android-9 / tools, чтобы каждая версия SDK могла использовать свою старую копию. Излишне говорить, что platform-tools / aapt существует и имеет необходимые разрешения, и я мог выполнить его из командной строки в любое время.

Когда я действительно пишу неверный xml-файл или сортирует его, и соответствующим образом получаю сообщение об ошибке, я вижу дополнительную строку с надписью «aapt: /lib32/libz.so.1: информация о версии отсутствует». Я использую последнюю версию Gentoo Linux. У меня установлено все для поддержки x86 на amd64, но на всякий случай повторно появились emul-linux-x86-baselibs и zlib. Проблема сохраняется. Я действительно вижу некоторые страницы , которые наводят ужас на некоторые ошибки zlib, но я не уверен, связано ли это. Я понимаю, что я не использую эталонную платформу Ubuntu, но, конечно, разница не может быть такой уж большой?

Это вполне может быть ошибкой в ​​aapt или самих инструментах. Почему он вдруг перестал работать? Я также сталкивался с тем, что идентификаторы в R.java были неправильными, а именно, что простой код findViewById () давал ClassCastExceptions из-за смешанных идентификаторов один раз, а затем отлично работал без каких-либо изменений, но только «чистый проект» после сбой aapt.

Наконец, я выполнил несколько команд на aapt, которые, похоже, не добавляют никакой дополнительной информации:

#ldd aapt
./aapt: /lib32/libz.so.1: no version information available (required by ./aapt)
 linux-gate.so.1 =>  (0xffffe000)
 librt.so.1 => /lib32/librt.so.1 (0x4f864000)
 libpthread.so.0 => /lib32/libpthread.so.0 (0x4f849000)
 libz.so.1 => /lib32/libz.so.1 (0xf7707000)
 libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/32/libstdc++.so.6 (0x415e9000)
 libm.so.6 => /lib32/libm.so.6 (0x4f876000)
 libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0x4fac6000)
 libc.so.6 => /lib32/libc.so.6 (0x4f5ed000)
 /lib/ld-linux.so.2 (0x4f5ca000)

#file aapt
aapt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

Кто-нибудь может сказать что-нибудь не так с моей конфигурацией? Может, пахнет жучком (а то пусть s сообщить об этом (снова))?

Обновление 2010-01-06:

Я получил дополнительные знания. Когда я недавно пытался экспортировать подписанный apk, я столкнулся с другим сообщением об ошибке (полная информация из окна ошибок Eclipse) относительно aapt, которого я раньше не видел. Обратите внимание, что я могу просто перезапустить Eclipse и снова без проблем экспортировать apks, по крайней мере, на некоторое время.

Я начинаю думать, что это связано с нехваткой памяти в моей системе. Сообщение «onvoldoende geheugen beschikbaar» означает «недостаточно доступной памяти».

Я также замечал ошибки недостаточной памяти в DDMS, когда сбрасываю файлы HPROF.

Вот журнал ошибок (сокращенный):

!ENTRY com.android.ide.eclipse.adt 4 0 2011-01-05 23:11:16.097
!MESSAGE Export Wizard Error
!STACK 1
org.eclipse.core.runtime.CoreException: Failed to export application
 at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(Unknown Source)
 at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.android.ide.eclipse.adt.internal.build.AaptExecException: Error executing aapt. Please check aapt is present at /opt/android-sdk/android-sdk-linux_x86-1.6_r1/platform-tools/aapt
 at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeAapt(Unknown Source)
 at com.android.ide.eclipse.adt.internal.build.BuildHelper.packageResources(Unknown Source)
 ... 5 more
Caused by: java.io.IOException: Cannot run program "/opt/android-sdk/android-sdk-linux_x86-1.6_r1/platform-tools/aapt": java.io.IOException: error=12, Onvoldoende geheugen beschikbaar
...
Caused by: java.io.IOException: java.io.IOException: error=12, Onvoldoende geheugen beschikbaar
...
!SUBENTRY 1 com.android.ide.eclipse.adt 4 0 2011-01-05 23:11:16.098
!MESSAGE Failed to export application
!STACK 0
com.android.ide.eclipse.adt.internal.build.AaptExecException: Error executing aapt. Please check aapt is present at /opt/android-sdk/android-sdk-linux_x86-1.6_r1/platform-tools/aapt
 at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeAapt(Unknown Source)
 at com.android.ide.eclipse.adt.internal.build.BuildHelper.packageResources(Unknown Source)
 at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(Unknown Source)
 at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(Unknown Source)
 at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.io.IOException: Cannot run program "/opt/android-sdk/android-sdk-linux_x86-1.6_r1/platform-tools/aapt": java.io.IOException: error=12, Onvoldoende geheugen beschikbaar
...
Caused by: java.io.IOException: java.io.IOException: error=12, Onvoldoende geheugen beschikbaar

14
задан Community 23 May 2017 в 12:16
поделиться