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 и просто разархивировал его.
Что я делаю неправильно? Спасибо!
Ответы
Ответ 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".