2014-12-31 3 views
1

С момента обновления моего Android SDK около месяца назад у меня были бесконечные проблемы, оставив меня с нерабочей средой разработки.Ошибка выполнения aapt: Код возврата 132 проблемы

Первоначально проблема заключалась в библиотеке поддержки v7-appcompat, которая породила около 100 ошибок, связанных с различными ресурсами. Было довольно очевидно, что они были ресурсами, относящимися к Android v5, и быстрый поиск в Stack Overflow означал, что я понял, что библиотека v7-appcompat ориентирована на API 19. Изменение соответствующих параметров для целевого API 21 устранило ошибки ресурса.

Однако проблема у меня была с тех пор любая попытка построить проект библиотеки быстро заканчивается ...

Ошибка выполнения AAPT: Код возврата 132

... и проект библиотеки построен неправильно.

Моя первоначальная настройка была с Eclipse Kepler, но затем я попробовал Android Studio v1.0.1 (тот же код ошибки AAPT), и сегодня я установил Eclipse Luna в отдельный каталог из Kepler и новую установку ADT и SDK. Каждая версия Eclipse также имеет собственные рабочие пространства.

Итак, у меня есть две версии Eclipse (каждая со своими установками и рабочими пространствами ADT/SDK) и Android Studio со своей структурой каталогов, и все три имеют ту же проблему.

Вопрос в том, как я могу диагностировать эту проблему? Общий знаменатель, очевидно, является проблемой, но я понятия не имею, как ее исправить.

Я работаю на установке Debian Wheezy (32-bit), и я правильно установил Java 1.7 (как рекомендовано).

ответ

2

Кажется, что проблема связана с некоторыми 32-битными системами. Он выдает ошибку 132 в app: processDebugResources, когда aapt является «хрустящим» png-файлами, готовыми для включения в пакет apk. Вы можете увидеть более подробную информацию по адресу https://code.google.com/p/android/issues/detail?id=75110

Некоторые люди сообщили, что «исправление» нарушающих png-файлов (например, открытие в Gimp и сохранение) сортирует проблему. Когда они «встроены» в appcompat, гораздо труднее сделать, конечно.

Прежде чем подробно рассказать, можете ли вы просто сказать, действительно ли вы работаете на 32-битном процессоре, и если да, то какой? используйте lscpu, чтобы узнать.

ОК, если кому-то интересно, вот работа, чтобы вы могли использовать свой старый ноутбук для создания приложений с помощью Android Studio. В основном вы делите все png-файлы в библиотеке appcompat-v7, а затем выполните сборку, используя две версии aapt. ЮК.

  1. Найти appcompat-v7.AAR, который будет находиться где-то, как ~/Android/Sdk/extras/android/m2repository/com/android/support/appcompat-v7/22.0.0

  2. Распакуйте его (это почтовый файл на самом деле) во временный каталог

  3. Strip все PNG файлы: find . -name "*.png" -exec mogrify -strip {} \;

  4. обновления файлов обратно снова: pushd appcompat-v7-22.0.0; zip -r ../appcompat-v7-22.0.0.aar; popd
  5. Переместите новый файл aar, чтобы заменить оригинал (этого может быть достаточно, чтобы получить хорошую сборку, но это было не для меня)
  6. Теперь найдите старую версию aapt (я отправился в https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip)
  7. Скопируйте версия AAPT от молнии вы только что взял в каталог/Android SDK/сборки-инструменты, как AAPT-17 или любой другой
  8. Переименуйте оригинальный AAPT к AAPT-0
  9. чередовать две версии aapt (например, ln -sf aapt-17 aapt), и вы должны найти, что сможете получить хорошую сборку. Одна версия будет терпеть неудачу в одном месте, другая в другой, заставив вас пройти все удары.
  10. Я знаю, что это воняет, но я был в отчаянии !!
+0

Спасибо. У меня не будет времени проверить это до выходных, но я дам вам знать, если это сработает для меня. Как бы то ни было, я перенес свои основные проекты обратно в свою Win XP через репозиторий Git, и я снова могу запрограммировать код. Было бы неплохо, если бы машина Linux работала должным образом. – Squonk

0

Вот что я сделал, чего достаточно, чтобы получить успешную сборку. Вдохновленный ответом Петртевичара.

  • понизить до 19.1.0 SDK, вы можете установить его из студии, а затем изменить buildToolsVersion в build.gradle
  • переименования AAPT в aapt.bin и поставить скрипт на своем месте, который перехватывает только PNG хруст (args: s -i infile -o outfile) и вместо этого делает простой cp. будет вставлять его здесь, но синтаксис SO подсветка suuuucks
Смежные вопросы