มีปัญหากับ Eclipse และ Android SDK


54

ฉันติดตั้ง Eclipse, openjdk6 และดาวน์โหลดและแตกไฟล์ sdk manager

ตอนนี้เมื่อฉันสร้างโครงการ 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:

[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 install libstdc ++ 6-4.6-dev [หรือค้นหา synaptic ด้วย libstdc ++] และ sudo apt-get install zlib1g-dev
shantanu

3
@shantanu ปัญหาไม่ได้อยู่ที่ไฟล์ส่วนหัว ( -devแพ็คเกจ) หายไป แต่ Android SDK ต้องการไลบรารีเวอร์ชัน 32 บิต ไฟล์ส่วนหัวมีความจำเป็นสำหรับการสร้างซอฟต์แวร์ที่ต้องอาศัยไลบรารีไม่ใช่เพื่อการใช้งานซอฟต์แวร์ที่สร้างไว้ล่วงหน้า
Eliah Kagan

คำตอบ:


47

ปัญหานี้เกิดขึ้นเนื่องจาก Android SDK รวบรวมสำหรับระบบ GNU / Linux แบบ 32 บิตและระบบ Ubuntu ของคุณเป็นระบบ GNU / Linux แบบ 64 บิต วิธีแก้ปัญหาควรง่าย (เนื่องจาก Ubuntu รองรับการใช้งานโปรแกรม 32 บิตบนระบบปฏิบัติการ 64 บิต) - เพียงแค่ติดตั้งไลบรารีรุ่น 32 บิตที่ต้องการ

วิธีที่ง่ายที่สุดและง่ายที่สุดในการทำเช่นนี้คือการติดตั้งรุ่น 32 บิตของทุกห้องสมุดใช้กันมากที่สุดโดยการติดตั้งia32-libsติดตั้ง ia32-libsแพคเกจ คุณสามารถทำได้ใน Software Center หรือใน Terminal ด้วย:

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

เดิมia32-libsมีให้เนื่องจาก Ubuntu ในการกำหนดค่าเริ่มต้นไม่รองรับการติดตั้งแพคเกจ Ubuntu แบบ 32 บิตบนระบบ 64 บิต ตอนนี้สิ่งนี้ได้รับการสนับสนุนอย่างเต็มที่โดยค่าเริ่มต้นia32-libsแพคเกจเพียงทำให้แพคเกจ 32 บิตเดียวกันที่จะติดตั้งบนระบบ 64 บิตของคุณที่จะติดตั้งบนระบบ 32 บิตขั้นต่ำสุด (ดังนั้นสำหรับทุกคนที่เป็นกังวลเรื่องนี้อาจไม่ทำงานในตอนนี้ซึ่งmultarchได้รับการสนับสนุนตามค่าเริ่มต้น: ยังใช้งานได้)

ที่มา: การ ติดตั้ง Android / Eclipse บน Ubuntu 11.04 - aapt และ adb ทำงานไม่ถูกต้อง
ดูเพิ่มเติม: ปลั๊กอิน Eclipse Android - libncurses.so.5


11
ดูเหมือนจะไม่เป็นทางออกสำหรับ Ubuntu 13.10 อีกต่อไป
Sahas Katta

10
@SahasKatta งานนี้askubuntu.com/a/165536/1599
phunehehe

อ่านความคิดเห็น @SahasKatta ก่อนที่จะยิงจากคอนโซล
danihp

3
Ubuntu 13.10+ ia32-libs ถูกแทนที่ด้วย lib32z1, lib32ncurses5 และ lib32bz2-1.0 (มีให้เมื่อคุณพยายามติดตั้ง ia32-libs) lib32stdc ++ 6 ไม่รวมอยู่ในรายการนี้ แต่จำเป็นต้องใช้ด้วย
RBI

3
คำตอบนี้นำฉันไปสู่สิ่งที่ได้ผลสำหรับฉัน: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

หากคุณใช้ Debian Jessie (หรือ Ubuntu 13.10+) ให้ลอง

sudo apt-get install lib32stdc++6


มันทำงานได้ดีสำหรับอูบุนตู 13.10 64 บิต
ทมิฬ Selvan C

เพิ่งแก้ไขปัญหาเดียวกันสำหรับฉันบน Linux Mint 16 RC
เทรเวอร์

3
ทำงานกับฉันใน Ubuntu 14.04 ใหม่เอี่ยม ขอบคุณมาก!
talha06

36

หัวข้อนี้คือการแก้ไขสำหรับฉัน

โดยเฉพาะการติดตั้งแพ็คเกจนี้:

sudo apt-get install lib32z1 lib32z1-dev

1
ไม่มีคำตอบใดนอกจากตัวเลือกนี้ใช้งานได้สำหรับฉัน ขอบคุณ :)
codeMan

ฉันได้รับจำนวนมากสำหรับคำตอบนี้ ... ขอบคุณ ... ผู้ใช้ 'Squeezle' เปลี่ยนคำตอบของฉันดังนั้นสิ่งที่อยู่ด้านบนไม่ใช่โพสต์ดั้งเดิมของฉัน -1 ไปยังไซต์เพื่ออนุญาตให้ผู้ตอบสนองของฉันถูกเปลี่ยนแปลงโดยใครก็ตาม แต่ +1 ไปยัง squeezle สำหรับการโพสต์สิ่งที่ดูเหมือนคำตอบยอดนิยม
ether_joe

หนึ่งเดียวที่ทำงานกับฉันบน Ubuntu 14.04 64 บิต ขอขอบคุณ!
TJ Biddle

ทำงานได้อย่างสมบูรณ์บน Debian 8.1.0 ฉันมี lib32stdc ++ 6 อยู่แล้วดังนั้นฉันจึงรู้ว่านี่ไม่ใช่ปัญหา ขอบคุณอีกครั้ง!
woahguy

16

ฉันเพิ่งพบเจอสิ่งนี้บน Ubuntu 14.04 64-bit ทางออกของฉันคือ:

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) คนอื่นไม่ได้
Juanin

7

สิ่งนี้ใช้ได้กับฉัน: aptitude install lib32stdc++6


นอกจากนี้ยังกำจัดข้อผิดพลาด R ที่เกี่ยวข้องสำหรับฉันด้วย
Akiva

2
sudo apt-get install lib32z1

สิ่งนี้ใช้ได้สำหรับฉัน

ไปที่synaptic -> ค้นหาlib32z1 -> เลือกทั้งรันไทม์และการพัฒนาใช้และทำเสร็จแล้ว



2

สำหรับ Ubuntu 15.04 จำเป็นต้องมีสิ่งต่อไปนี้:

sudo apt-get install lib32stdc++6 lib32z1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.