Các sự cố với SDK Eclipse và Android


54

Tôi đã cài đặt Eclipse, openjdk6 và tải xuống và trích xuất tệp trình quản lý sdk.

Bây giờ, khi tôi tạo một dự án Android, tôi đã gặp lỗi sau:

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

Và cái này khi tôi cố gắng tạo Trình quản lý 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 [hoặc tìm kiếm trên synap với libstdc ++]. và sudo apt-get install zlib1g-dev
Shantanu

3
@shantanu Vấn đề không phải là các tệp tiêu đề ( -devgói) bị thiếu mà là SDK Android cần các phiên bản 32 bit của các thư viện. Các tệp tiêu đề chỉ cần thiết để xây dựng phần mềm dựa trên thư viện, không phải để chạy phần mềm dựng sẵn.
Eliah Kagan

Câu trả lời:


47

Vấn đề này xảy ra do SDK Android được biên dịch cho hệ thống GNU / Linux 32 bit và hệ thống Ubuntu của bạn là hệ thống GNU / Linux 64 bit. Giải pháp phải dễ dàng (vì Ubuntu hỗ trợ đầy đủ việc chạy các chương trình 32 bit trên HĐH 64 bit) - chỉ cần cài đặt các phiên bản 32 bit của các thư viện cần thiết.

Cách đơn giản nhất và dễ nhất để làm điều này là cài đặt các phiên bản 32 bit của tất cả các thư viện được sử dụng phổ biến nhất, bằng cách cài đặt gói ia32-libsCài đặt ia32-libs . Bạn có thể làm điều này trong Trung tâm phần mềm hoặc trong Terminal với:

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

Ban đầu ia32-libsđược cung cấp vì Ubuntu, trong cấu hình mặc định của nó, không hỗ trợ cài đặt các gói Ubuntu 32 bit trên hệ thống 64 bit. Bây giờ, điều này được hỗ trợ đầy đủ theo mặc định, ia32-libsgói chỉ khiến các gói 32 bit tương tự được cài đặt trên hệ thống 64 bit của bạn sẽ được cài đặt trên hệ thống 32 bit tối thiểu. (Vì vậy, đối với bất kỳ ai lo lắng điều này có thể không hoạt động ngay bây giờ multarchđược hỗ trợ theo mặc định: nó vẫn hoạt động.)

Nguồn: Cài đặt Android / Eclipse trên Ubuntu 11.04 - aapt và adb không hoạt động đúng
Xem thêm: Plugin Android Eclipse - libncurses.so.5


11
Đây không còn là một giải pháp cho Ubuntu 13.10.
Sahas Katta

10
@SahasKatta công việc này yêu cầu Ubuntu.com / a / 165536/1599
phunehehe

Đọc bình luận @SahasKatta trước khi bắn console.
danihp

3
Ubuntu 13.10+ ia32-libs đã được thay thế bằng lib32z1, lib32ncurses5 và lib32bz2-1.0 (mesage được cung cấp khi bạn cố gắng cài đặt ia32-libs). lib32stdc ++ 6 không được bao gồm trong danh sách này nhưng cũng được yêu cầu.
RBI

3
Câu trả lời này dẫn tôi đến những gì làm việc cho tôi: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

Nếu bạn đang sử dụng Debian Jessie (hoặc Ubuntu 13.10+), hãy thử

sudo apt-get install lib32stdc++6


Nó hoạt động tốt cho Ubuntu 13.10 64 bit
Tamil Selvan C

Chỉ cần giải quyết vấn đề tương tự cho tôi trên Linux Mint 16 RC.
Trevor

3
làm việc cho tôi trên Ubuntu 14.04 hoàn toàn mới. cảm ơn rất nhiều!
Talha06

36

Chủ đề này là sửa chữa cho tôi.

Cụ thể, cài đặt gói này:

sudo apt-get install lib32z1 lib32z1-dev

1
Không có câu trả lời nào, ngoại trừ câu trả lời này, làm việc cho tôi. Cảm ơn :)
codeman

Tôi nhận được rất nhiều đại diện cho câu trả lời này ... cảm ơn ... bằng cách nào đó người dùng 'Squeezle' đã thay đổi câu trả lời của tôi vì vậy những gì ở trên không phải là bài viết gốc của tôi. -1 đến trang web để cho phép phản hồi của tôi được thay đổi bởi bất kỳ ai, nhưng +1 thành squeezle để đăng những gì trông giống như một câu trả lời phổ biến.
ether_joe

Chỉ có một cái hoạt động với tôi trên Ubuntu 14.04 64 bit. Cảm ơn bạn!
TJ Biddle

Hoạt động hoàn hảo trên Debian 8.1.0. Tôi đã có lib32stdc ++ 6 vì vậy tôi biết đây không phải là vấn đề. Cảm ơn một lần nữa!
woahguy

16

Tôi mới chạy vào cái này trên Ubuntu 14.04 64-bit. Giải pháp của tôi là:

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

Dựa trên các thư viện dùng chung cần thiết cho công cụ 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
Cảm ơn. Điều này làm việc cho tôi (Ubuntu 14.04 x64). Những người khác thì không.
Juanin

7

Điều này làm việc cho tôi: aptitude install lib32stdc++6


Điều này cũng giúp loại bỏ một tấn lỗi liên quan đến R đối với tôi.
Akiva

2
sudo apt-get install lib32z1

Điều này làm việc cho tôi.

Chuyển đến synaptic -> Tìm kiếm lib32z1 -> chọn cả thời gian chạy và phát triển Áp dụng và thực hiện xong.



2

Đối với Ubuntu 15.04, điều sau đây là cần thiết:

sudo apt-get install lib32stdc++6 lib32z1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.