[英]Android adb not found
當我從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是什么問題?
在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
庫。
您無法再安裝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
你必須安裝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
而已。
我正在使用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
那么上面的代碼對我有用。
這在Ubuntu 13.04 64位版本中效果很好
您無法再安裝ia32-libs,因此您必須使用adb所需的各個32位庫
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
在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
我正在運行Ubuntu 12.04 LTS,這個命令對我來說是唯一有用的:
sudo apt-get install lib32z1 lib32z1-dev
一旦我從命令行運行它,我就可以通過在Eclipse中執行Project> Clean來生成R.java文件(說明Android SDK工具安裝中的某些內容不太正確)。
在Fedora 17或18上:
sudo yum install redhat-lsb.i686
對於multiarch Debian 7.0,添加:
dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
您需要安裝ia32-libs(IA32庫)包才能實現此功能。
我在Linux Mint 12中做到了:
chmod +x PATH/adb
如果你在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
嘗試在amd64位平台上運行構建工具或平台工具時,某些使用Android SDK的用戶可能會遇到問題。 作為ia32-libs的替代品,用戶應該可以正常安裝以下庫:
dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
在linux apt-get install ia32-libs中安裝這些庫
在下面運行這些命令。 它對我有用
sudo apt-get dist-upgrade
sudo apt-get install ia32-libs
在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
有時它只是給sdk文件提供必要的權限。
sudo chmod -R +x /path/to/android-sdk-linux
重啟Android Studio,看看是否能解決問題。
從NTFS分區復制/移動sdk文件或從另一台計算機復制時,通常會發生權限問題。
sudo apt install adb
adb未安裝在您的電腦中
試試這個。
http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html
該博客向Ubuntu 13.10解釋了解決安裝Chrome,Java和修復Android SDK的問題。
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 #Enabling , Android#Troubleshooting )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.