当我从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
从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'
然而,我的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
adb是绿色,这意味着它是可执行文件,对吗?
例如,dx也是绿色,当我在命令提示符下输入dx时,它有效... adb是否有错?
答案 0 :(得分:142)
在Linux上,包含platform-tools
的Android SDK adb
包曾经是32bit
。它在32bit
系统上运行良好。但是在64bit
系统上,您需要手动安装IA32库。
对于基于Debian的发行版,请尝试以下方法:
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
但是,由于v24.0 platform-tools
仅包含64bit
个二进制文件,因此不再需要32bit
个库。
答案 1 :(得分:112)
您无法再安装ia32-libs,因此必须使用adb所需的32位库
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
对于Ubuntu 13.10:
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
答案 2 :(得分:30)
您必须安装32位glibc:
在Fedore 64位机器上
# yum install glibc.i686
这在尝试执行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
多数民众赞成。
答案 3 :(得分:24)
我正在使用 Ubuntu 14.04 LTS 64位,以下代码适合我;
sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6
<小时/> 总结:
在我尝试 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
然后上面的代码适合我。
答案 4 :(得分:9)
这在Ubuntu 13.04 64位版本中运行良好
您无法再安装ia32-libs,因此必须使用adb所需的32位库
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
答案 5 :(得分: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
答案 6 :(得分:4)
我正在运行Ubuntu 12.04 LTS,这个命令对我来说是唯一有用的:
sudo apt-get install lib32z1 lib32z1-dev
一旦我从命令行运行它,我就可以通过执行项目&gt;来生成R.java文件(说明Android SDK工具安装中的某些东西不太正确)。在Eclipse中清理。
答案 7 :(得分:3)
在Fedora 17或18上:
sudo yum install redhat-lsb.i686
答案 8 :(得分:3)
对于multiarch Debian 7.0,添加:
dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
答案 9 :(得分:2)
您需要安装ia32-libs(IA32库)软件包才能实现此目的。
答案 10 :(得分:2)
我是在Linux Mint 12中做到的:
chmod +x PATH/adb
答案 11 :(得分:2)
如果您在64位中遇到此问题,请尝试此操作(适合我):
$ apt-get install lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
$ apt-get install lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev
$ apt-get install g++-multilib
http://sixarm.com/about/ubuntu-apt-get-install-ia32-for-32-bit-on-64-bit.html
答案 12 :(得分:2)
使用Android SDK的某些用户在尝试在amd64位平台上运行build-tools或platform-tools时可能会遇到问题。作为ia32-libs的替代品,用户只需安装以下库即可:
dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
答案 13 :(得分:1)
在linux apt-get install ia32-libs
中安装这些库答案 14 :(得分:1)
sudo apt install adb
adb未安装在您的电脑中
试试这个。
答案 15 :(得分:1)
有时候给sdk文件提供必要的权限只是一个问题。
sudo chmod -R +x /path/to/android-sdk-linux
重新启动Android Studio并查看是否可以修复它。
从NTFS分区复制/移动sdk文件或从另一台计算机复制时,通常会发生权限问题。
答案 16 :(得分:1)
在ubuntu 64位[12.04] - [14.10]和初级OS 64位
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
答案 17 :(得分:1)
在下面运行以下命令。它为我工作
sudo apt-get dist-upgrade
sudo apt-get install ia32-libs
答案 18 :(得分:0)
http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html
该博客向Ubuntu 13.10解释了解决安装Chrome,Java和修复Android SDK的问题。
答案 19 :(得分:0)
Arch Linux的正确当前组合如下:
[此部分未更改] 取消注释/etc/pacman.conf
中的以下部分:
...
[multilib]
Include = /etc/pacman.d/mirrorlist
...
然后:
sudo pacman -Syu && sudo pacman -S multilib/lib32-libstdc++5 multilib/lib32-zlib
与其他答案的不同之处在于包名称现在包含 multilib / 部分。
(来自Arch Wiki:Multilib#Enabling,Android#Troubleshooting)