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.0lib32stdc ++ 대체 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.