Android adbが見つかりません


103

AndroidアプリをEclipseから実行すると、このエラーが発生します。

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/)であるディレクトリにcdし、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の何が問題になっていますか?


あなたはそれが確信しているplatform-tooldsといませんかplatform-tools
Raghav Sood、

/ home / antz / Development / adt-bundle-linux / sdk / platform-toolds / adbそこに不要な「d」があります!
petey

申し訳ありませんが、この記事で私がタイプミスのthats
ealeon

ファイル/フォルダーの権限を確認しましたか?Linuxで作業しています。ユーザーが実際にそのフォルダにアクセスしてadbを実行できることを確認してください
WarrenFaith

回答:


143

Linuxでは、以前platform-tools含まadbれていたAndroid SDK パッケージは32bitでした。32bitシステムでは問題なく動作しました。ただし、64bitシステムでは、IA32ライブラリを手動でインストールする必要があります。

Debianベースのディストリビューションの場合、これを試してください:

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

しかし、v24.0 platform-toolsには64bitバイナリしか含まれていないため、32bitライブラリは不要になりました。


おかげでこれはうまくいきました。なぜ彼らはこのステップをチュートリアルに含めなかったのですか?
ealeon

4
Googleが情報を提供しました。developer.android.com/sdk/installing/index.htmlを参照して ください。他のプラットフォームの情報をクリックしてから、ubuntuのトラブルシューティングを行ってください。
Robin Chander

5
@RobinChander、面白いことにLinuxの64ビットADTバンドルは、下の32ビットADBが付属していますadt-bundle-linux/sdk/platform-tools/adb...これも他のディストリビューションの下で問題となっている、などのFedora 17
maxschlepzig

5
IA32ライブラリをインストールできません!どうして?
gtr123

1
同じエラーが発生し、apt-get install ia32-libsを実行しましたが、ADTツールの構成をEclipseで再起動するにはどうすればよいですか?私はUbuntuの12.04実行している
CodeKingPlusPlus

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

これは特定のバージョンのLinuxを指していますか?もしそうなら、あなたの答えにそれを入れてもらえますか?
CatShoes 2013年

注:インストールが失敗した場合(悪い依存関係)は、aptitudeをスローしてインストールしてください。インストールが成功するようにいくつかのライブラリをダウングレードすることをお勧めします。
ベン・ウスマン

4
lib32z1(Ubuntu 13.10)もインストールする必要がありました
AntonS 2013年

E:パッケージ 'lib32stdc ++ 6'にはインストール候補がありませんE:パッケージ 'lib32gcc1'にはインストール候補がありませんE:パッケージlib32ncurses5が見つかりません
数字の配管工

うんありがとうございます:) ubuntu 13.10で素晴らしい
ワークク

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
Fedoraユーザーのための解決策を見るのは良いことです!
Kyle

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

その後、上記のコードは私のために動作します。


私はあなたの解決策を試しましたが、それでも問題は私と一緒に発生します。
tvshajeer 2015

1
Ubuntu 16に勤務
Abduhafiz 2017

9

これは、Ubuntu 13.04 64ビットバージョンでうまく動作します

ia32-libsをインストールできなくなったため、adbが必要とする個別の32ビットライブラリが必要です

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

テスト済み。13.04 64ビットで問題なく動作します。ありがとうございました:D
Blaze Tama

私のUbuntu 14.04 64ビットマシンでは、依存関係lib32tinfo5も自動的にインストールされました。
ファイサル、2014年

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

これでうまくいきました。これmultilibは、有効にする必要があるリポジトリです。
paldepind 2014

4

私はUbuntu 12.04 LTSを実行しており、このコマンドが私のために機能した唯一のものです

sudo apt-get install lib32z1 lib32z1-dev

コマンドラインから実行すると、Eclipseで[プロジェクト]> [クリーン]を実行することにより、R.javaファイルを生成することができました(Android SDKツールのインストールで何かが正しくないという明確な兆候)。


3

multiarch Debian 7.0の場合、以下を追加します。

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

2
これは質問とは関係がないようです。
難解なスクリーン名

できます。しかし、パッケージlibc6:i386とlibstdc ++ 6:i386で十分です
Jorge Sainz


2

これを機能させるには、ia32-libs(IA32ライブラリー)パッケージをインストールする必要があります。




2

UbuntuのMultiarch HOWTO

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

1

これらのライブラリをlinux apt-get install ia32-libsにインストールします


1

以下のコマンドを実行します。それは私のために働いた

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

1

ubuntu 64ビット[12.04]〜[14.10]およびElementary OS 64ビット

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

1

場合によっては、sdkファイルに必要なアクセス許可を与えるだけの問題もあります。

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

Android Studioを再起動して、問題が解決するかどうかを確認します。

NTFSパーティションから別のコンピューターからsdkファイルをコピーまたは移動するとき、または別のコンピューターからコピーするときに、通常、アクセス許可の問題が発生します。


1

sudo apt install adb

PCにインストールされていないadb

これを試して。


0

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

このブログでは、Chrome、Java、Fixing Android SDKをインストールするためのUbuntu 13.10の解決策について説明しています。


外部リソースへのリンクを推奨しますが、リンクの前後にコンテキストを追加して、他のユーザーがそれが何であるか、なぜそこにあるのかを理解できるようにしてください。ターゲットサイトにアクセスできない場合や、完全にオフラインになる場合に備えて、重要なリンクの最も関連性の高い部分を常に引用してください。ちょうど未来のために、答えはすでに与えられています。このメタ記事を参照してください。
Johannes Stadler

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#EnablingAndroid#Troubleshooting

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.