Android adb未找到

eal*_*eon 103 linux android adb

当我从eclipse运行我的Android应用程序时,我收到此错误.

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
Run Code Online (Sandbox Code Playgroud)

从Eclipse错误复制粘贴

[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'
Run Code Online (Sandbox Code Playgroud)

然而,我的adb恰好位于它所说的不是的位置.

有什么问题,我该如何解决这个问题?

我进入adb是(/home/antz/Development/adt-bundle-linux/sdk/platform-tools/)的目录,然后输入adb,它说

antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ ls  
aapt  aidl  dexdump  fastboot  llvm-rs-cc  renderscript  
adb   api   dx       lib       NOTICE.txt  source.properties  
antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ adb  
bash: /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb: No such file or directory
Run Code Online (Sandbox Code Playgroud)

adb是绿色的,这意味着它是可执行的,对吗?

例如,dx也是绿色的,当我在命令提示符下输入dx时,它的工作原理... adb是什么问题?

Rob*_*der 142

在Linux上,platform-tools包含adb以前的Android SDK 包32bit.它在32bit系统上运行良好.但是在64bit系统上,您需要手动安装IA32库.

对于基于Debian的发行版,试试这个:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
Run Code Online (Sandbox Code Playgroud)

但由于v24.0 platform-tools只包含64bit二进制文件 - 因此32bit不再需要库.

  • @RobinChander,有趣的是[Linux 64位ADT软件包](http://developer.android.com/sdk/index.html)在`adt-bundle-linux/sdk/platform-tools下带有32位adb/adb` ...这也是其他发行版下的一个问题,例如Fedora 17. (5认同)
  • 我无法安装IA32库!为什么? (5认同)
  • 谷歌确实提供了这些信息.请参阅http://developer.android.com/sdk/installing/index.html单击其他平台的信息,然后对ubuntu进行故障排除. (4认同)
  • 谢谢,在Ubuntu 12.04 64位中运行良好 (2认同)

小智 112

您无法再安装ia32-libs,因此您必须使用adb所需的各个32位库

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
Run Code Online (Sandbox Code Playgroud)

而对于Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
Run Code Online (Sandbox Code Playgroud)

  • 我还需要安装lib32z1(Ubuntu 13.10) (4认同)
  • 在Ubuntu 13.04 64bits上运行良好,谢谢! (3认同)
  • 确认在Linux Mint 15上工作. (2认同)

yok*_*kks 30

你必须安装32位glibc:

在Fedore 64位机器上

# yum install glibc.i686
Run Code Online (Sandbox Code Playgroud)

这在尝试执行32位二进制文​​件时消除了误导性的"无此类文件或目录"消息.有了这个64位Fedora系统能够执行64位二进制文​​件.

当在32位动态可执行文件上调用ldd时,这也消除了ldd的误导性"非动态可执行"消息.

现在你必须安装缺少的32位库,adt-bundle-linux/sdk/platform-tools下的二进制文件链接到:

# yum install zlib.i686 libstdc++.i686 ncurses-libs.i686 libgcc.i686
Run Code Online (Sandbox Code Playgroud)

而已.

  • 很高兴看到Fedora用户的解决方案! (3认同)

gih*_*uka 24

我正在使用Ubuntu 14.04 LTS 64位,以下代码适用于我 ;

sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6
Run Code Online (Sandbox Code Playgroud)


摘要:

之后我尝试了apt-get install ia32-libs,但apt包工具提示;

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
Run Code Online (Sandbox Code Playgroud)

那么上面的代码对我有用.


小智 9

这在Ubuntu 13.04 64位版本中效果很好

您无法再安装ia32-libs,因此您必须使用adb所需的各个32位库

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
Run Code Online (Sandbox Code Playgroud)


小智 8

在Arch linux上:

在/etc/pacman.conf中启用"multiarch"存储库

然后运行:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs
Run Code Online (Sandbox Code Playgroud)