EclipseとAndroid SDKの問題


54

Eclipse、openjdk6をインストールし、sdkマネージャーファイルをダウンロードして抽出しました。

さて、Androidプロジェクトを作成すると、次のエラーが発生しました。

2012-06-06 18:44:40 - contactManager] /home/catia/android-sdks/platform-tools/aapt: 
error while loading shared libraries: libz.so.1: cannot open shared object file: 
No such file or directory

そして、これはAVD Managerを作成しようとしたときのものです:

[2012-06-06 19:00:18 - SDK Manager] /home/catia/android-sdks/tools/mksdcard: error 
while loading shared libraries: libstdc++.so.6: cannot open shared object file: No 
such file or directory 
[2012-06-06 19:00:18 - SDK Manager] Failed to create the SD card.
[2012-06-06 19:00:18 - SDK Manager] Failed to create sdcard in the AVD folder.

sudo apt-get libstdc ++ 6-4.6-devをインストールします[またはlibstdc ++とのシナプスを検索します]。およびsudo apt-get install zlib1g-dev
shantanu

3
@shantanu問題があるではないヘッダファイル(という-devパッケージが)不足しているが、AndroidのSDKは、ライブラリの32ビット版を必要とすること。ヘッダーファイルは、ビルド済みのソフトウェアを実行するためではなく、ライブラリに依存するソフトウェアビルドするためにのみ必要です。
エリアケイガン

回答:


47

この問題は、Android SDKが32ビットGNU / Linuxシステム用にコンパイルされており、Ubuntuシステムが64ビットGNU / Linuxシステムであるために発生しています。ソリューションは簡単である必要があります(Ubuntuは64ビットOSで32ビットプログラムの実行を完全にサポートしているため)-必要なライブラリの32ビットバージョンをインストールするだけです。

これを行う最も簡単で簡単な方法は、ia32-libsia32-libsをインストールするパッケージをインストールして、最も一般的に使用されるすべてのライブラリの32ビットバージョンをインストールすることです。これは、ソフトウェアセンターまたはターミナルで次の方法で実行できます。

sudo apt-get update
sudo apt-get install ia32-libs

もともとia32-libs提供されていたのは、デフォルト構成のUbuntuが64ビットシステムへの32ビットUbuntuパッケージのインストールをサポートしていなかったためです。これがデフォルトで完全にサポートされるようになったため、ia32-libsパッケージは、最小32ビットシステムにインストールされる64ビットシステムに同じ32ビットパッケージをインストールするだけです。(だから心配している人にとっては、これはmultarchデフォルトでサポートされているように動作しないかもしれません:それはまだ動作します。)

出典: Ubuntu 11.04でのAndroid / Eclipseのインストール-aaptおよびadbが正しく機能しない
参照: Eclipse Androidプラグイン— libncurses.so.5


11
これは、Ubuntu 13.10のソリューションではないようです。
Sahas刈田

10
@SahasKattaこれはaskubuntu.com/a/165536/1599
phunehehe

コンソールを撮影する前に@SahasKattaのコメントを読んでください。
danihp 14年

3
Ubuntu 13.10以降のia32-libsは、lib32z1、lib32ncurses5、およびlib32bz2-1.0(ia32-libsのインストール時に提供されるメッセージ)に置き換えられました。lib32stdc ++ 6はこのリストには含まれていませんが、必須です。
RBI 14年

3
この答えは私のために働いた何に私を導く:「須藤はapt-getをlib32z1 lib32ncurses5 lib32bz2-1.0をインストールする」
cjstehno


36

このスレッドは私にとっての修正でした。

具体的には、このパッケージをインストールします。

sudo apt-get install lib32z1 lib32z1-dev

1
これ以外の答えは、私にとってはうまくいきませんでした。ありがとう:)
codeMan 14年

私はこの回答に対して多くの担当者を獲得しています...ありがとう...どういうわけか、ユーザー 'Squeezle'が私の回答を変更したため、上記の内容は元の投稿ではありません。誰でも私の回答を変更できるようにするためにサイトに-1、人気のある回答のように見えるものを投稿するために+1するために絞ります。
ether_joe 14

Ubuntu 14.04 64bitで動作するのは1つだけです。ありがとうございました!
TJビドル

Debian 8.1.0で完全に動作します。私はすでにlib32stdc ++ 6を持っていたので、これが問題ではないことを知っていました。再度、感謝します!
woahguy

16

Ubuntu 14.04 64ビットでこれに遭遇しました。私の解決策は:

sudo apt-get install -y libc6:i386 libgcc1:i386 libstdc++6:i386 libz1:i386

aaptツールに必要な共有ライブラリに基づいて:

$ readelf -d android-sdk-linux/build-tools/20.0.0/aapt | grep -i shared
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

3
ありがとう。これは私のために働いた(Ubuntu 14.04 x64)。他の人はしません。
フアン14

7

これは私のために働く: aptitude install lib32stdc++6


これにより、Rに関連する大量のエラーもなくなりました。
アキバ

2
sudo apt-get install lib32z1

これは私のために働いた。

シナプスに移動-> lib32z1を検索->ランタイムと開発の両方を適用し、完了。



2

Ubuntu 15.04では、次が必要でした。

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