Ubuntu 64 с Android 64 Bundle не может найти исполняемый файл adb

Я испытываю следующую проблему при попытке запустить adb в Ubuntu 12.10, x86_64:

[2013-02-19 20:56:04 - adb] Unexpected exception 'Cannot run program 
"/home/user/adt-bundle-linux-x86_64/sdk/platform-tools/adb": error=2, 
No such file or directory' while attempting to get adb version from 
'/home/user/adt-bundle-linux-x86_64/sdk/platform-tools/adb'

Я нашел adb, попробовал chmod +x adb и это просто не работает. Я тоже пробовал chmod +x platform-tools/а также chmod +x tools/, После этого я попробовал ./adb

Я погуглил проблему. Они говорили о пакете ia32. Ubuntu не может найти ни этот пакет, ни ia32 multi arch.

Система Ubuntu 12.10 64, и я скачал пакет adt-bundle-linux-x86_64.zip и просто распаковал его.

Что я делаю неправильно? Спасибо!

5 ответов

Решение

На Debian 7 я столкнулся с той же проблемой.

Диагноз:

edb@lapelidb:~/today$ ldd /opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb
    not a dynamic executable
edb@lapelidb:~/today$ file  /opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb
/opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

Решение: добавлена ​​поддержка 32-битной поддержки и необходимые 32-битные библиотеки:

edb@lapelidb:~/today$ sudo dpkg --add-architecture i386
edb@lapelidb:~/today$ sudo apt-get update 
edb@lapelidb:~/today$ sudo apt-get install libc6:i386 libstdc++6:i386

И вуаля:

edb@lapelidb:~/today$ ldd /opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb
    linux-gate.so.1 =>  (0xf772a000)
    librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf770a000)
    libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7706000)
    libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf76ec000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7600000)
    libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf75da000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf75bd000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf745a000)
    /lib/ld-linux.so.2 (0xf772b000)

Я использую версию Ubuntu 12.04 LTS. Я пробовал шаги, предложенные amo-ej1, но у моего dpkg не было опций add или architect.

Однако у меня сработало следующее:

1) Установите 'adb' и 'fastboot', предоставляемые следующим сторонним PPA.

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot

2) Замените копии 'adb' и 'fastboot', предоставленные официальным Android SDK, на копии, установленные на предыдущем шаге:

cp /usr/bin/adb <path-to-your-adt-sdk-package>/sdk/platform-tools/adb
cp /usr/bin/fastboot <path-to-your-adt-sdk-package>/sdk/platform-tools/fastboot

3) Перезапустите (повторите) ваш бинарный файл затмения.

Полные кредиты: http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html

ВАЖНОЕ РЕДАКТИРОВАНИЕ (АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ):

Несмотря на то, что вышеизложенное устранит вашу ошибку (и вы можете перейти к учебнику по Android App), как я обнаружил, ADT также понадобится aapt (еще один 32-разрядный двоичный файл), расположенный в

 <path-to-your-adt-sdk-package>/sdk/build-tools/android-x.x/

И, к сожалению, ссылка, которую я предоставил выше, не предоставляет этот двоичный файл.

Итак, вот мое другое решение:

1) Обновите свою систему

Open 'Update Manager' => 'Settings' => 'Updates
Check "Recommended Updates (precise updates)"
Update the updates that are being shown

2) Установите ia32-libs

sudo apt-get install ia32-libs

И я наконец смог установить 'ia32-libs'. Чтобы узнать, почему ia32-libs не может быть установлен в первую очередь, прочитайте ответ, опубликованный slangasek, здесь: https://askubuntu.com/questions/136394/cannot-install-ia32-libs

В Ubuntu 12.10 x86_64 для запуска 32- битных пакетов используются ia32-libs и ia32-libs-multiarch.

Если вы печатаете

file adb

Вы увидите, что adb - это 32-битный файл в 64-битной системе. Вам нужны пакеты ia32 для эмуляции и запуска этого файла. Но ты не можешь!

Проблема сейчас в том, что вы не можете загрузить эти пакеты, они пытаются преобразовать их во что-то, я думаю, x86_64. Здесь вы можете прочитать о конвертации в пакете NEWS:

Краткое описание конверсии:

"ia32-libs (20090808ubuntu27) точный; срочность = низкая

  • ia32-libs теперь является переходным пакетом в зависимости от ia32-libs-multiarch, пакета i386-only, который зависит от всех 32-битных библиотечных пакетов, ранее включенных в сам ia32-libs. В результате ia32-libs будут неустановлены в течение некоторого времени в течение точного цикла, в то время как зависимые библиотеки будут обновлены, чтобы их можно было установить с помощью multiarch. Разработчикам рекомендуется помочь с процессом преобразования этих библиотек, описанным по адресу:

    http://wiki.debian.org/Multiarch/Implementation

    - Стив Лангасек "

Поэтому, если вы попытаетесь отредактировать файл source.list, чтобы извлечь его из более раннего репозитория, вы сломаете пакеты. Так что Ubuntu 12.10 люди должны ждать или ADB компилируется или что-то еще до 64 бит.

редактировать:

Debian 7.0 будет поддерживать multiarch, где версия x64 может запускать двоичный файл x32. источник: http://www.debian.org/News/2013/20130504

Я использую debian_x64

добавить i386 lib

dpkg --адд-архитектура i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdC++ 6: i386

ldd / home / yourname / adt-bundle-linux-x86_64-20130729 / sdk / platform-tools / adb

когда вы обнаружили "android-sdks/build-tools/17.0.0/aapt: ошибка при загрузке общих библиотек: libz.so.1: не удается открыть файл общего объекта: нет такого файла или каталога"

вы можете попробовать sudo apt-get установить ia32-libs sudou apt-get установить zlib.i686

перезагрузите компьютер и попробуйте снова

Распакуйте этот файл с этим:

sudo tar xvfz adt-bundle-linux-x86.zip -C /opt/android

чем запустить этот код:

sudo chown -R your_user_name /opt/android

я думаю это сработает

Другие вопросы по тегам