您的位置:首页 > 移动开发 > Android开发

Ubuntu 14.04版64位机器上解决 android 的 adb 无法执行的问题

2014-10-23 10:00 453 查看

问题描述

通过官网下载 64 位系统下的包 “adt-bundle-linux-x86_64-20140702.zip”,解压后,执行 adb 出现如下错误,如下所示:

thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ sudo ./adb
sudo: unable to execute ./adb: No such file or directory


问题分析

1. 出乎意料,google 提供的 64 位包,里面竟然包含的是 32 位的可执行程序,通过如下方法验证:

thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ file adb
adb: ELF 32-bit LSB  shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$


2. 无法执行,是由于64位系统上,没有提供32位程序执行所需的库,查看 adb 所需库文件,可执行如下命令:

thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ sudo objdump -x adb |grep NEEDED
NEEDED               librt.so.1
NEEDED               libdl.so.2
NEEDED               libpthread.so.0
NEEDED               libstdc++.so.6
NEEDED               libm.so.6
NEEDED               libgcc_s.so.1
NEEDED               libc.so.6


文件解决方法

通过安装32位所缺少的库即可解决,在Ubuntu 13.10 后,需要执行如下命令:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
如果是之前的版本,则可执行如下命令解决:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: