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
Ответ 12
если у вас есть эта проблема в 64 бит, попробуйте это (сработало для меня):
$ apt-get install lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
$ apt-get install lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev
$ apt-get install g++-multilib
http://sixarm.com/about/ubuntu-apt-get-install-ia32-for-32-bit-on-64-bit.html
Ответ 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 или копировании с другого компьютера.
Ответ 19
http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html
блог объясняет решение Ubuntu 13.10 для установки Chrome, Java и Fixing Android SDK.
Ответ 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 # Устранение неполадок)