Ubuntu 14.04版64ビットマシンでandroidのadbが実行できない問題を解決
1463 ワード
問題の説明
公式サイトから64ビットシステム下のパッケージ「adt-bundle-linux-x 86_64-20140702.zip」をダウンロードし、解凍後、adbを実行すると以下のエラーが発生します.
もんだいぶんせき
1.意外にも、googleが提供する64ビットパッケージには、32ビットの実行可能プログラムが含まれており、以下の方法で検証されています.
2.実行できないのは、64ビットシステムで32ビットプログラムの実行に必要なライブラリが提供されていないためです.adbに必要なライブラリファイルを表示し、次のコマンドを実行できます.
ファイルの解決方法
32ビットで欠落しているライブラリをインストールすることで解決します.Ubuntu 13.10の後、次のコマンドを実行する必要があります.
公式サイトから64ビットシステム下のパッケージ「adt-bundle-linux-x 86_64-20140702.zip」をダウンロードし、解凍後、adbを実行すると以下のエラーが発生します.
thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ sudo ./adb
sudo: unable to execute ./adb: No such file or directory
もんだいぶんせき
1.意外にも、googleが提供する64ビットパッケージには、32ビットの実行可能プログラムが含まれており、以下の方法で検証されています.
thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ file adb
adb: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$
2.実行できないのは、64ビットシステムで32ビットプログラムの実行に必要なライブラリが提供されていないためです.adbに必要なライブラリファイルを表示し、次のコマンドを実行できます.
thomaspc@thomaspc:~/bins/androidsdk/sdk/platform-tools$ sudo objdump -x adb |grep NEEDED
NEEDED librt.so.1
NEEDED libdl.so.2
NEEDED libpthread.so.0
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
ファイルの解決方法
32ビットで欠落しているライブラリをインストールすることで解決します.Ubuntu 13.10の後、次のコマンドを実行する必要があります.
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
以前のバージョンであれば、次のコマンドを実行して解決できます.sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5