Ubuntu-오류 : SD 카드를 만들지 못했습니다.


84

SD 카드에 쓰는 것에 대한 많은 게시물을 보았지만 내 문제는 다르다고 생각합니다. AVD를 만드는 과정에서 SD 카드를 만들 수 없습니다.

처음에는 Android SDK 및 AVD Manager를 사용하여
이름 : my_avd
대상 : Android 2.2-API 레벨 8
SD 카드 : 크기 : 1024 MiB
스킨 : 내장 : 기본 (HVGA)
하드웨어 : 속성 : 추상화 된 LCD를 선택했습니다. 밀도, 값 : 160

그러면
"AVD 'my_avd'생성 결과 :
오류 : SD 카드를 생성하지 못했습니다 . " 라는 메시지가 표시된 창이 나타납니다 .

비슷한 오류가 발생하여 명령 줄에서 프로세스를 반복하려고했습니다.

alex@alex-desktop:~$ android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.

mksdcard 사용 지침을 따르려는 시도는 똑같이 비생산적이었습니다. 내 기본적인 리눅스 경험 부족이 여기에서 문제를 일으킬 수 있다고 생각합니다. mksdcard를 사용하려고 할 때 파일이나 디렉토리를 찾을 수 없다고보고합니다. Linux에서 mksdcard 도구를 이런 방식으로 사용할 수 있습니까?

alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M

내 PATH 변수에 Android 도구 디렉토리를 추가했지만 분명히 다른 것이 누락 된 것 같습니다. 어떤 종류의 액세스 권한일까요?

sudo로 android 명령을 실행하려고 시도해도 도움이되지 않는 것 같습니다.

alex@alex-desktop:~/android-sdk-linux_x86/tools$ sudo ./android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.

Eclipse와 ADT 플러그인을 설치하고 거기에서 관리자를 실행하려고 시도했습니다. 어떤 팁이라도 가장 감사하겠습니다. 내가 어느 정도 초보 Linux 사용자라는 고급 경고이므로 확인해야 할 당연한 것처럼 보이지만 여전히 놓쳤을 수 있습니다.


@Alex Pritchard : 1024M 가짜 SD 카드는 필요하지 않을 것입니다. 대신 32M을 시도하고 더 나은 운이 있는지 확인하십시오.
— CommonsWare 2010 년

@CommonsWare Alas, 32M SD 카드는 여전히 생성되지 않습니다. :(
— Alex Pritchard

@Alex Pritchard : 꽤 이상합니다. 이미지는 나머지 AVD ( ~/.android/avd/whateveryoucalledit/) 와 동일한 디렉토리에 생성 되므로 SD 카드로 AVD가 아닌 AVD를 만드는 방법을 이해할 수 없습니다.
— CommonsWare 2010 년

@ CommonsWare 나는 조금 더 읽고 있었고 뭔가를 발견했을 것이라고 생각합니다. 64 비트 Linux 설치를 사용 중이고 ia32-libs를 설치해야 할 수도 있기 때문에 문제가있을 수 있습니다. 나는 집에 돌아올 때 이것을 시도하고 그것이 도움이되는지 볼 것입니다.
— Alex Pritchard

@Alex Pritchard : 네, 필요하다고 생각합니다. 놀랍게도 그것들 없이는 전혀 실행되지 않습니다. 64 비트 우분투 설정에서 Android를 실행하기 위해 약간의 회전을 거쳐야했지만 세부 사항을 잊어 버릴만큼 충분히 오래되었습니다.
— CommonsWare 2010 년

답변:


101

그래서 문제를 발견했습니다. 기본적으로 ia32-libs 패키지가 설치되지 않은 64 비트 Linux 설치를 사용하고있었습니다. mksdcard 유틸리티는이 패키지 없이는 실행되지 않습니다. 설치 후 AVD 관리자를 사용하여 문제없이 AVD를 구축 할 수있었습니다.


1
감사합니다, 우분투 12.04 x64, 문제가 해결되었습니다. 나는 단지이 IA32 - libs와 약 2백60메가바이트 있다는 발언 것
— yetanothercoder

43
예! 그 모든 끔찍한 240 개의 의존성 패키지없이 길을 찾았습니다! 대신 ia32-libs설치 libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386. 내 컴퓨터를 모든 쓰레기로부터 구해준이 사람에게
— 찬사를 보냅니다

4
Fedora에서dnf install glibc.i686 libstdc++.i686
— Dominic Cleal

감사합니다. 나는 Ubuntu 14.04 LTS amd를 사용하고 문제를 해결합니다. @pavel_kazlou 제안처럼 패키지를 분리 설치된
— 주앙 폴로에게

1
@nimrodm이 게시물의 활동에 지속적으로 놀랐습니다 (현재까지 가장 인기있는 SO 게시물, 하).
— Alex Pritchard

80

Ubuntu 16.04 LTS x64에서 Android Studio 2.1 (2.3.3에서도 테스트 됨)을 사용하여 터미널에서 실행합니다.

sudo apt-get install lib32stdc++6

Android Studio없이 수동으로 SDK를 설치했는데 이것이 저에게 효과적이었습니다.
— CTodea

1
그 외에도 에뮬레이터를 실행하려면 ~ / Android / Sdk / emulator / lib64 / libstdc ++ / libstdc ++. so.6 및 libstdc ++. so.6.0.18의 이름을 다른 이름으로 변경해야했습니다. OpenGL을 사용하지 않고 실행할 수 있습니다. --------------- ./emulator @ Nexus_4_API_23이 드로어 블 getGLES2ExtensionString을 생성하지 못했습니다 : GLES 2.x Pbuffer를 생성 할 수 없습니다! GLES 2.x 확장 문자열을 가져 오지 못했습니다! 에뮬레이트 된 프레임 버퍼 에뮬레이터를 초기화 할 수 없습니다. 오류 : OpenglES 에뮬레이션을 초기화 할 수 없습니다. '-gpu off'를 사용하여 비활성화하십시오.
— Francisco Junior

1
빙고. Ubuntu 17.04.
— piratemurray

22

나는 당신과 같은 오류가 있었고 방금 해결했기 때문에 도움이 될 수 있습니다 (당신의 오류가 나와 같은 문제로 인해 발생했다고 생각하지 않지만).

../tools의 모든 도구에 실행 권한이 없다는 것을 알았으므로

chmod -R 777 ../tools

명령 줄에서 마침내 작동합니다.


1
답변을 주셔서 감사합니다. Stack Overflow는 답변의 가독성을 높이기위한 형식을 제공합니다. 코드 서식을 사용하여 셸 명령을 식별하고 다른 텍스트와 구분할 수 있습니다.
— this.josh

작동하지만 이로 인해 .txt, .xml파일 등에 실행 권한이 있습니다. 관련된 개별 파일을 아는 것이 좋습니다
— funkybro

10

다른 사람들이 이미 작성했듯이 문제는 Linux 배포판이 64 비트 배포판이고 현재 Android Virtual Device ( AVD )가 제대로 작동 하려면 x86 라이브러리가 필요하다는 것입니다.

누군가 ia32-libs 설치를 제안했습니다 . 그러나 Ubuntu 14.04 LTS 에서는이 라이브러리를 찾을 수 없습니다. lib32z1 , lib32ncurses5 , lib32bz2-1.0 및 lib32stdc ++ 대체 libs를 사용하여 해결했습니다 .

sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++

3
내가 필요한 유일한 것은 lib32stdc ++ 6입니다.
— Big McLargeHuge 2010 년

6

방금 같은 문제가 발생했습니다. SDK 도구는 ia32-libs를 설치하지 않고 64 비트 Ubuntu에서 실행되지 않습니다 (예 : sudo apt-get install ia32-libs).


5

기본 OS 및 우분투에서 솔루션은 다음 패키지를 설치하는 것이 었습니다.

sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install libgcc1:i386

이것은 Kubuntu 17.04에서 나를 위해 일했습니다. 그러나 libstdc ++는 여전히 제거해야합니다.
— Avamander

4
alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M

이 문제를 발견했으며 먼저 방법을 찾습니다.

cd /home/alex/android-sdk-linux_x86/tools/

다음을 작성하십시오.

sudo chmod 755 mksdcard
mksdcard 1024M ./sdcard.iso
sudo android create avd -n my_avd -t 1 -c 1024M

그것은 작동해야합니다 :)


4

Kali, Debian Jessie (또는 Ubuntu 13.10+)를 사용하는 경우

sudo apt-get 설치 lib32stdc ++ 6

위에서 언급 한 ia32-libs 대신.


4
sudo apt-get install lib32stdc++6

그 후 다음과 같은 오류가 발생할 수 있습니다.

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
X Error of failed request:  BadValue (integer parameter out of range for operation)
emulator: WARNING: Setting VM heap size to 384MB
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  34
QObject::~QObject: Timers cannot be stopped from another thread

이 세 가지 명령을 사용하여

mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6{,.bak}
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak}
ln -s /usr/lib/libstdc++.so  ~/Android/Sdk/tools/lib64/libstdc++/**

3

또한이 문제가 있었고 i386 패키지를 설치 한 후 Android 에뮬레이터 용 SD 카드를 만들 수 있었으므로 두 단계를 수행해야했습니다.

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

이 작업이 끝난 후 SD 카드가 연결된 에뮬레이터를 만들 수있었습니다.


2

나는 다른 문제가 있었다 : 플랫폼 도구는 내 길에 있었지만 도구는 그렇지 않았다. 따라서 SDCard 이미지가 생성되지 않은 것을 제외하고는 모든 것이 작동했습니다. 이클립스에서 avd를 만들었을 때 이것에 대한 알림이 없었고 가상 장치가 정말 작은 sd 카드로 만들어져 앱 설치시 미디어를 사용할 수 없음 오류가 지속적으로 발생했습니다.


1

32 비트 Ubuntu를 사용하여 다른 문제가 발생했습니다. mksdcard를 손으로 실행하려고 할 때 파일을 찾을 수 없음 오류가 발생했습니다.

문제는 open-jre / jdk였습니다. 오라클 자바를 설치했고 문제가 해결되었습니다. 불행히도 더 이상 apt / synaptic을 통해 oracle java를 설치할 수 없으며 몇 가지 추가 단계를 거쳐야합니다.

https://github.com/flexiondotorg/oab-java6


1

데비안 테스트에서 ./tools/mksdcards를 실행하려고 할 때 오류가 발생했습니다.

error while loading shared libraries: libstdc++.so.6: 
cannot open shared object file: No such file or directory

lib32stdc ++ 6을 설치하면 문제가 해결되었으며 avd를 만들 수있었습니다.


0

MyOS는 Oracle Unbreakable Linux 6입니다.이 문제를 해결하기 위해 libstdc ++-4.4.6-3.el6.i686 패키지를 설치해야했습니다.


0

많은 설치 후 결과를 얻지 못한 후 이것을 발견하고 작동했습니다.

의 일부 실행 파일을 sdk/tools실행할 수 없기 때문에 발생합니다 . Android Studio 및 Android SDK 폴더로 이동하여 다음 명령으로 모든 디렉터리와 파일을 실행 가능하게 만듭니다.

chmod +x -R *

9 년이 지난 지금도이 문제가 계속 발생한다는 사실을 깨달았습니다. 좋은 시간 경험을 공유해 주셔서 감사합니다.
— Alex Pritchard

-1

android sdk 폴더를 홈 폴더로 이동해보세요. 효과가있다.


-1

나는 같은 문제가 있었다. 문제 해결 후 Windows가 32 비트이고 mksdcard가 64 비트와 만 호환된다는 사실을 알게되었습니다. 그런 다음 32 비트 mksdcard를 도구 폴더에 복사하고 이전 폴더를 삭제했습니다. 그것은 내 문제를 해결했습니다.


-1

창문에서 같은 문제에 직면 한 사람들을 위해. 저에게는 mksdcard.exe 도구가 성공적으로 실행되지 않았기 때문입니다. mksdcard.exe와 같은 일부 SDK 도구에는 Microsoft Visual C ++ 런타임이 필요합니다. 따라서 시스템 속성으로 이동하여 시스템 유형을 확인하십시오.

여기에 이미지 설명 입력

그런 다음 시스템 유형 (저는 x64)에 따라 https://visualstudio.microsoft.com/downloads/ 링크에서 Visual Studio 2019 용 최신 Microsoft Visual C ++ 재배포 가능 패키지를 다운로드 / 업데이트합니다.

여기에 이미지 설명 입력

Microsoft Visual C ++를 설치 한 후 문제가 해결되었습니다. AVD를 성공적으로 만들 수있었습니다.

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