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 install libstdc ++ 6-4.6-dev [또는 libstdc ++로 시냅틱 검색] 그리고 sudo apt-get install zlib1g-dev
shantanu

3
@shantanu 문제는 없습니다 헤더 파일 (즉, -dev패키지) 누락,하지만 안드로이드 SDK는 라이브러리의 32 비트 버전을 필요로. 헤더 파일은 사전 빌드 소프트웨어를 실행하는 것이 아니라 라이브러리에 의존하는 소프트웨어빌드 할 때만 필요 합니다.
Eliah Kagan

답변:


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
이것은 더 이상 우분투 13.10에 대한 해결책으로 보이지 않습니다.
Sahas Katta

10
@SahasKatta이 작동 askubuntu.com/a/165536/1599
phunehehe

콘솔 촬영 전에 @SahasKatta 주석을 읽으십시오.
danihp

3
Ubuntu 13.10 이상에서는 ia32-lib가 lib32z1, lib32ncurses5 및 lib32bz2-1.0 (ia32-libs를 설치하려고 할 때 제공되는 메시지)으로 대체되었습니다. lib32stdc ++ 6은이 목록에 포함되어 있지 않지만 필수입니다.
RBI

3
이 답변은 나를 위해 일한 것으로 이끌었습니다 : "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

데비안 Jessie (또는 Ubuntu 13.10+)를 사용하는 경우

sudo apt-get install lib32stdc++6


그것은 64 비트 우분투 13.10 잘 작동
타밀어 Selvan C

Linux Mint 16 RC에서 동일한 문제를 해결했습니다.
Trevor

3
새로운 Ubuntu 14.04에서 나를 위해 일했습니다. 고마워요!
talha06

36

이 스레드 는 나를위한 해결책이었습니다.

구체적으로이 패키지를 설치하십시오.

sudo apt-get install lib32z1 lib32z1-dev

1
이 답변을 제외한 어떤 대답도 나를 위해 일하지 않았습니다. 감사합니다 :)
codeMan

이 답변에 대한 많은 담당자가 있습니다 ... 감사합니다 ... 어쨌든 사용자 'Squeezle'이 내 답변을 변경하여 위의 내용이 원래 게시물이 아닙니다. 누구든지 내 응답을 변경할 수 있도록 사이트에 -1하지만 인기있는 답변처럼 보이는 것을 게시하기 위해 압박을 +1했습니다.
ether_joe

우분투 14.04 64 비트에서 나를 위해 일한 사람 만. 감사합니다!
TJ Biddle

데비안 8.1.0에서 완벽하게 작동합니다. 나는 이미 lib32stdc ++ 6을 가지고 있었으므로 이것이 문제가 아니라는 것을 알았습니다. 다시 감사합니다!
woahguy

16

우분투 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). 다른 사람들은 그렇지 않습니다.
Juanin

7

이것은 나를 위해 작동합니다 : aptitude install lib32stdc++6


이것은 또한 많은 R 관련 오류를 제거했습니다.
Akiva

2
sudo apt-get install lib32z1

이것은 나를 위해 일했습니다.

이동 시냅스 -> 검색 lib32z1 적용을 통해 UR 수행> 런타임 및 개발을 모두 선택 -.



2

우분투 15.04의 경우 다음이 필요했습니다.

sudo apt-get install lib32stdc++6 lib32z1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.