Как заставить Android aapt и adb работать на 64-битной Ubuntu без ia32-libs (работает для версий 12, 13 и 14)

54

Так как Ubuntu 13.10 больше не имеет ia32-libs, я не могу заставить среду разработки для Android работать с чистой установкой 13.10.

Ошибка ~/android-studio/sdk/build-tools/android-4.2.2/aapt ": error = 2, Нет такого файла или каталога

Этот файл существует и является исполняемым, но является 32-битным исполняемым файлом.

В предыдущих установках я только что установил ia32-libs, чтобы исправить это, но это решение больше не работает для Ubuntu 13.10.

Я пробовал решения, предложенные askubuntu, например. этот https://askubuntu.com/questions/107230/what-happened-to-the-ia32-libs-package

но он не работает для меня. Из этого ответа askubuntu.com я вижу, что я должен установить отдельные пакеты с помощью

sudo apt-get install package:i386 

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

Кто-нибудь еще решил эту проблему и у кого-нибудь есть список пакетов, которые необходимо установить для инструментов Android?

Теги:
adb
32bit-64bit
aapt

5 ответов

60
Лучший ответ

Хотя в текущей версии Ubuntu (13.10) не требуется команда dpkg --add-architecture i386, она требуется в текущих версиях Debian (7.x), и она также потребуется в будущих версиях Ubuntu. Поэтому я собираюсь оставить его. Просто игнорируйте его для Ubuntu 13.10.

sudo dpkg --add-architecture i386
sudo apt-get -qqy update
sudo apt-get -qqy install libncurses5:i386 libstdc++6:i386 zlib1g:i386

Обновление: aapt действительно требует zlib, поэтому я добавил его в список. Но вам не нужны пакеты lib32.

  • 3
    Мне нужно было добавить sudo apt-get install lib32stdc ++ 6 lib32z1, чтобы это работало. Вот некоторые ссылки, Google + ветка и Askubuntu
  • 2
    В Ubuntu нет команды --add-architecture dpkg.
Показать ещё 4 комментария
78

Другой способ (без добавления архитектуры i386)...

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
sudo apt-get install lib32z1

Ссылка: Исправить adb на Ubuntu 13.10 64bit

  • 3
    это может все еще работать в 13.10. Но сторонники дистрибутива не согласны с Адамом в отношении «чистоты» этого решения. В конце концов, ia32-libs было лишь временным исправлением, пока не была реализована соответствующая поддержка multiarch.
  • 0
    E: Пакет 'lib32stdc ++ 6' не имеет кандидата на установку E: Пакет 'lib32gcc1' не имеет кандидата на установку E: Невозможно найти пакет lib32ncurses5
Показать ещё 6 комментариев
3

Это просто вопрос, дающий sdk файлам необходимые разрешения.

 sudo chmod -R +x /path/to/android-sdk-linux

Перезагрузите Android Studio и посмотрите, исправить ли это.

Проблемы с разрешением обычно возникают при копировании/перемещении файлов sdk из раздела NTFS или копировании с другого компьютера.

2

В Ubuntu 14.04 LTS x64 и buildToolsVersion 21/22 было достаточно выполнить следующее:

sudo apt-get install libc6:i386 libstdc++6:i386
sudo apt-get install zlib1g:i386

Ошибка, которую я получал:

Execution failed for task ':core:processReleaseResources'.
> A problem occurred starting process 'command '/home/user/androidSDK/android-sdk/build-tools/21.1.2/aapt''
1
  • 1
    Вставьте полное решение, а не просто предоставив ссылку.
  • 0
    Причина, по которой вы хотите опубликовать полное решение, даже если оно может показаться повторяющимся, заключается в том, что ваша ссылка может (и, вероятно, в какой-то момент) станет мертвой. В этот момент ваш ответ бесполезен, поскольку в нем нет содержания. Смотрите эту справочную статью по Stack Exchange .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню