Подтвердить что ты не робот

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.

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

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

4b9b3361

Ответ 1

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

Диагноз:

[email protected]:~/today$ ldd /opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb
    not a dynamic executable
[email protected]:~/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-разрядных библиотек:

[email protected]:~/today$ sudo dpkg --add-architecture i386
[email protected]:~/today$ sudo apt-get update 
[email protected]:~/today$ sudo apt-get install libc6:i386 libstdc++6:i386

Et voila:

[email protected]:~/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)

Ответ 2

Я использую версию Ubuntu 12.04 LTS. Я пробовал шаги, предложенные "amo-ej1", но у моего "dpkg" не было параметров "добавить" или "архитектура".

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

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) Перезапустите (заново выполнить) двоичный файл eclipse.

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

ВАЖНОЕ ИЗМЕНЕНИЕ (РЕШЕНИЕ ALTERNATE):

Несмотря на то, что вышеописанная проблема будет устранена (и вы можете продолжить обучение с помощью приложения для Android), как я уже нашел, 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

Ответ 3

В Ubuntu 12.10 x86_64 пакет для запуска 32bits ia32-libs и ia32-libs-multiarch.

Если вы наберете

file adb

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

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

сводка преобразования:

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

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

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

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

Итак, если вы попытаетесь отредактировать файл source.list, чтобы захватить его из старого репо, вы будете разорвать пакеты. Таким образом, ubuntu 12.10 человек должны ждать или компилировать adb или что-то еще до 64 бит.

изменить:

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

Ответ 4

Я использую debian_x64

добавить i386 lib

dpkg -add-architecture i386 Обновление sudo apt-get sudo apt-get install libc6: i386 libncurses5: i386 libstdС++ 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 install ia32-libs sudou apt-get install zlib.i686

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

Ответ 5

разархивируйте этот файл с помощью этого:

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

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

sudo chown -R your_user_name /opt/android

Я думаю, что он будет работать

Ответ 6

Я так мало понимаю, но я пытаюсь учиться, взяв на себя проект рутирования моего телефона. Я использую Linux Lite, который основан на Ubuntu/возможно Mint, но, конечно, "легче". У меня точно такая же проблема с adb/fastboot. Мой маршрут туда, где они расположены, кажется намного меньше, чем я видел. Только один каталог по сравнению с основным каталогом (поскольку инструменты платформы - это один из элементов в главном каталоге,/оба adb/fastboot r действительно находятся в нем. Я настолько опытен с концепцией навигации по каталогу, которая является основной частью работы с командной строкой использование системы. Я не знаю, правильно ли я описываю путь,/особенно удивляюсь, если проблема в том, что я не знаю фактического имени основного каталога, о котором я пишу, м. Когда я ввожу 1-й оператор "cp", указанный выше, в терминал, я получаю: "отсутствует операнд файла назначения после '/usr/bin/adb/platform-tools/sdk/platform-tools/adb".