Android adb не найден

Когда я запускаю приложение для Android из eclipse, я получаю эту ошибку.

Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2 No such file or directory' while attempting to get adb version from /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb

COPY PASTE FROM Eclipse Error

[2012-11-26 13:43:08 - adb] Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2, No such file or directory' while attempting to get adb version from '/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb'

Однако мой adb находится точно в том месте, где он говорит, что нет.

Что не так и как это исправить?

I cd в каталог, где adb (/home/antz/Development/adt-bundle-linux/sdk/platform-tools/), и я набрал adb, и он говорит

[email protected]:~/Development/adt-bundle-linux/sdk/platform-tools$ ls  
aapt  aidl  dexdump  fastboot  llvm-rs-cc  renderscript  
adb   api   dx       lib       NOTICE.txt  source.properties  
[email protected]:~/Development/adt-bundle-linux/sdk/platform-tools$ adb  
bash: /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb: No such file or directory

adb зеленый, что означает его исполняемый файл, правильно?

например, dx также зеленый, и когда я ввел dx в командную строку, он работает... что не так с adb?

Ответ 1

В Linux пакет Android SDK platform-tools, содержащий adb, был 32bit. Он отлично работал на системах 32bit. Но в системах 64bit вам необходимо вручную установить библиотеку IA32.

Для дистрибутивов, основанных на Debian, попробуйте следующее:

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

Но так как v24.0 platform-tools содержит только 64bit двоичные файлы, поэтому библиотеки 32bit больше не требуются.

Ответ 2

Вы больше не можете устанавливать ia32-libs, поэтому вам нужны отдельные 32-разрядные библиотеки, необходимые для adb

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

И для Ubuntu 13.10:

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

Ответ 3

Вам нужно установить 32-битный glibc:

в 64-битной машине Fedore

# yum install glibc.i686

Это удаляет вводящее в заблуждение сообщение "нет такого файла или каталога" при попытке выполнить 32-битный двоичный файл. При этом 64-битная система Fedora способна выполнять 64-битные двоичные файлы.

Это также удаляет вводящее в заблуждение сообщение "не динамическое исполняемое" ldd при вызове ldd в 32-битном динамическом исполняемом файле.

Теперь вам нужно установить отсутствующие 32-битные библиотеки, двоичные файлы в adt-bundle-linux/sdk/platform-tools связаны с:

# yum install zlib.i686 libstdc++.i686 ncurses-libs.i686 libgcc.i686

Вот оно.

Ответ 4

Я использую Ubuntu 14.04 LTS 64-bit, и для меня работает ;

sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6

<ч/" > Краткое описание:

После того, как я попробовал apt-get install ia32-libs, но apt package tool предположил, что

Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source.

However the following packages replace it:
  lib32z1 lib32ncurses5 lib32bz2-1.0

Тогда приведенный выше код работает для меня.

Ответ 5

Это отлично работает в версии Ubuntu 13.04 64bit

Вы больше не можете устанавливать ia32-libs, поэтому вам нужны отдельные 32-разрядные библиотеки, необходимые для adb

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

Ответ 6

В Arch Linux:

Включить репозитории "multiarch" в файле /etc/pacman.conf

затем выполните:

[email protected]#pacman -Syu

[email protected]#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs

Ответ 7

Я запускаю Ubuntu 12.04 LTS, и эта команда работает только для меня:

sudo apt-get install lib32z1 lib32z1-dev

Как только я запустил это из командной строки, мне удалось получить файл R.java для генерации (контрольный знак того, что что-то в вашей установке инструментов Android SDK не совсем корректно), выполнив проект > Очистить Eclipse.

Ответ 8

В Fedora 17 или 18:

sudo yum install redhat-lsb.i686

Ответ 9

Для многоархивого Debian 7.0 добавьте:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Ответ 10

Для этого вам необходимо установить пакет ia32-libs (IA32 libraries).

Ответ 11

Я сделал это в своем Linux Mint 12:

   chmod +x PATH/adb

Ответ 13

Из Ubuntu Multiarch HOWTO:

Некоторые пользователи, использующие Android SDK, могут столкнуться с проблемами при попытке запуска встроенных инструментов или инструментов платформы на платформе amd64. В качестве замены для ia32-libs пользователи должны быть в порядке, просто устанавливая следующие библиотеки:

dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

Ответ 14

sudo apt install adb

adb не установлен на вашем ПК

Попробуйте это.

Ответ 15

Установите эти библиотеки в linux apt-get install ia32-libs

Ответ 16

Запустите эти команды ниже. Это сработало для меня

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs

Ответ 17

в 64-битных ubuntu [12.04] - [14.10] и элементарных 64-битных OS

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

Ответ 18

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

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

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

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

Ответ 20

Правильный текущий комбо для Arch Linux выглядит следующим образом::

[Эта часть не изменяется] Раскомментируйте следующий раздел в /etc/pacman.conf:

...
[multilib]
Include = /etc/pacman.d/mirrorlist
...

Тогда:

sudo pacman -Syu && sudo pacman -S multilib/lib32-libstdc++5 multilib/lib32-zlib

Разница с другим ответом заключается в том, что имена пакетов включают в себя multilib/part.

(из Arch Wiki: Multilib#Enabling, Android # Устранение неполадок)