Masalah dengan Eclipse dan Android SDK

54

Saya menginstal Eclipse, openjdk6 dan mengunduh serta mengekstrak file manajer SDK.

Sekarang, ketika saya membuat proyek Android saya mendapat kesalahan berikut:

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

Dan yang ini ketika saya mencoba membuat Manajer AVD:

[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.
csbl
sumber
sudo apt-get install libstdc ++ 6-4.6-dev [atau cari di sinaptik dengan libstdc ++]. dan sudo apt-get install zlib1g-dev
shantanu
3
@shantanu Masalahnya bukan file header ( -devpaket) yang hilang, tetapi Android SDK membutuhkan versi 32-bit perpustakaan. File header hanya diperlukan untuk membangun perangkat lunak yang bergantung pada perpustakaan, bukan untuk menjalankan perangkat lunak yang sudah dibuat sebelumnya.
Eliah Kagan

Jawaban:

47

Masalah ini terjadi karena Android SDK dikompilasi untuk sistem GNU / Linux 32-bit, dan sistem Ubuntu Anda adalah sistem GNU / Linux 64-bit. Solusinya harus mudah (karena Ubuntu sepenuhnya mendukung menjalankan program 32-bit pada OS 64-bit) - cukup instal versi perpustakaan 32-bit yang dibutuhkan.

Cara termudah dan termudah untuk melakukan ini adalah menginstal versi 32-bit dari semua perpustakaan yang paling umum digunakan, dengan menginstal paket ia32-libsInstal ia32-libs . Anda dapat melakukan ini di Pusat Perangkat Lunak atau di Terminal dengan:

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

Awalnya ia32-libsdisediakan karena Ubuntu, dalam konfigurasi default, tidak mendukung menginstal paket Ubuntu 32-bit pada sistem 64-bit. Sekarang ini didukung penuh secara default, ia32-libspaket hanya menyebabkan paket 32-bit yang sama diinstal pada sistem 64-bit Anda yang akan diinstal pada sistem minimal 32-bit. (Jadi bagi siapa pun yang khawatir ini mungkin tidak berfungsi sekarang yang multarchdidukung secara default: masih berfungsi.)

Sumber: Instalasi Android / Eclipse di Ubuntu 11.04 - aapt dan adb tidak berfungsi dengan baik
Lihat juga: Eclipse Android Plugin - libncurses.so.5

Eliah Kagan
sumber
11
Tampaknya ini bukan lagi solusi untuk Ubuntu 13.10.
Sahas Katta
10
@SahasKatta ini berfungsi askubuntu.com/a/165536/1599
phunehehe
Baca komentar @SahasKatta sebelum tembakan konsol.
danihp
3
Ubuntu 13.10+ ia32-libs telah digantikan oleh lib32z1, lib32ncurses5, dan lib32bz2-1.0 (pesan disediakan saat Anda mencoba menginstal ia32-libs). lib32stdc ++ 6 tidak termasuk dalam daftar ini tetapi juga diperlukan.
RBI
3
Jawaban ini mengarahkan saya pada apa yang berhasil bagi saya: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno
55

Jika Anda menggunakan Debian Jessie (atau Ubuntu 13.10+), cobalah

sudo apt-get install lib32stdc++6

Martin Konecny
sumber
Ini bekerja dengan baik untuk ubuntu 13.10 64 bit
Tamil Selvan C
Baru saja memecahkan masalah yang sama untuk saya di Linux Mint 16 RC.
Trevor
3
bekerja untuk saya di Ubuntu 14,04 yang baru. Terima kasih banyak!
talha06
36

Utas ini adalah perbaikan untuk saya.

Secara khusus, menginstal paket ini:

sudo apt-get install lib32z1 lib32z1-dev
ether_joe
sumber
1
Tidak ada jawaban, kecuali yang ini, bekerja untuk saya. Terima kasih :)
codeMan
Saya mendapatkan banyak perwakilan untuk jawaban ini ... terima kasih ... entah bagaimana pengguna 'Squeezle' mengubah jawaban saya sehingga apa yang di atas bukan posting asli saya. -1 ke situs untuk memungkinkan tanggapan saya diubah oleh siapa pun, tetapi +1 diperas karena memposting apa yang tampak seperti jawaban populer.
ether_joe
Hanya satu yang bekerja untuk saya di Ubuntu 14.04 64bit. Terima kasih!
TJ Biddle
Berfungsi sempurna di Debian 8.1.0. Saya sudah memiliki lib32stdc ++ 6 jadi saya tahu ini bukan masalahnya. Terima kasih lagi!
woahguy
16

Saya baru saja menjalankan ini di Ubuntu 14,04 64-bit. Solusi saya adalah:

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

Berdasarkan pustaka bersama yang diperlukan untuk alat 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]
bupupin
sumber
3
Terima kasih. Ini bekerja untuk saya (Ubuntu 14.04 x64). Yang lain tidak.
Juanin
7

Ini bekerja untuk saya: aptitude install lib32stdc++6

pengguna130613
sumber
Ini juga menghilangkan banyak kesalahan terkait R untuk saya.
Akiva
2
sudo apt-get install lib32z1

Ini berhasil untuk saya.

Pergi ke sinaptik -> Cari lib32z1 -> pilih runtime dan pengembangan Terapkan dan ur selesai.

Raj
sumber
2

Untuk Ubuntu 15.04, yang berikut ini diperlukan:

sudo apt-get install lib32stdc++6 lib32z1
Enam
sumber