首页 文章

Android adb未找到

提问于
浏览
102

当我从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是什么问题?

20 回答

  • 1

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

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

    sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
    
  • 24

    sudo apt install adb

    adb未安装在您的电脑中

    试试这个 .

  • 9

    您需要安装ia32-libs(IA32库)包才能使用 .

  • 2

    在linux apt-get install ia32-libs中安装这些库

  • 4

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

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

    sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
    

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

  • 1

    在下面运行这些命令 . 它对我有用

    sudo apt-get dist-upgrade
    sudo apt-get install ia32-libs
    
  • 141

    你必须安装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
    

    而已 .

  • 30

    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 / part .

    (来自Arch Wiki:Multilib#EnablingAndroid#Troubleshooting

  • 2

    我正在使用 Ubuntu 14.04 LTS 64-bit 和以下代码 works for me ;

    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
    

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

  • 112

    在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
    
  • 2

    http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html

    该博客向Ubuntu 13.10解释了解决安装Chrome,Java和修复Android SDK的问题 .

  • 3

    在Fedora 17或18上:

    sudo yum install redhat-lsb.i686
    
  • 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
    
  • 2

    我在Linux Mint 12中做到了:

    chmod +x PATH/adb
    
  • 1

    我正在运行Ubuntu 12.04 LTS,这个命令对我来说是唯一有用的:

    sudo apt-get install lib32z1 lib32z1-dev
    

    一旦我从命令行运行它,我就可以通过在Eclipse中执行Project> Clean来生成R.java文件(说明Android SDK工具安装中的某些内容不太正确) .

  • 1

    来自Ubuntu Multiarch HOWTO

    尝试在amd64位平台上运行构建工具或平台工具时,某些使用Android SDK的用户可能会遇到问题 . 作为ia32-libs的替代品,用户应该可以正常安装以下库:

    dpkg --add-architecture i386
    aptitude update
    aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
    
  • 1

    您无法再安装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
    
  • 0

    对于multiarch Debian 7.0,添加:

    dpkg --add-architecture i386
    apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
    
  • 0

    如果你在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

  • 3

    有时它只是给sdk文件提供必要的权限 .

    sudo chmod -R +x /path/to/android-sdk-linux
    

    重启Android Studio,看看是否能解决问题 .

    从NTFS分区复制/移动sdk文件或从另一台计算机复制时,通常会发生权限问题 .

相关问题