Android 에뮬레이터에서 메모리를 할당하지 못했습니다 8


157

Eclipse에서 WXGA800 에뮬레이터를 실행하려고하면 다음과 같은 오류가 발생합니다.

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

다음 링크도 확인했습니다.

메모리를 할당하지 못했습니다 : 8

Android : 메모리를 할당하지 못했습니다

에뮬레이터에서 RAM 크기를 줄이고 Java 힙 크기 및 램 크기를 늘리려 고했지만 여전히 동일한 오류가 발생합니다.


내장 스킨을 사용하는 대신 해상도를 수동으로 설정하십시오.
SteveR

내 대답을 확인하십시오 : stackoverflow.com/a/14420779/1993898
Prymaldark

가능한 메모리
Peter O.

멋있는. 나는이 똑같은 질문을 덜 설득력있게 말했고 사람들이 그것을 투표하도록했다. 여기 어딘가에 큰 대답이 있기를 바랍니다. S-Pen 지원으로 Samsung Galaxys를 에뮬레이트하려고하는데 모두 에뮬레이터의 기능을 능가합니다.
Sinthia V

답변:


410

업데이트 : Android SDK Manager 버전 21부터 해결책은 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini값 을 편집 하고 변경하는 것입니다.

hw.ramSize=1024 

hw.ramSize=1024MB

안드로이드 4.2 API 17

에뮬레이터는 정말 느립니다. 그들이 곧 인텔 이미지를 공개하기를 바랍니다변경하려면 새 API17 Intel x86 이미지를 사용하십시오. ( HAXM , Configuration )


이전 Android SDK 관리자 릴리스 :

내장 WXGA800 스킨과 동일한 문제가 있습니다. 가상 장치 설정을 편집하여 다음을 수행했습니다.

  • 대상 4.0.3 API 15 / 4.1.0 API 16
  • SD 카드 300MiB
  • 해상도 1280 x 800 (내장 된 것이 아닌 수동으로 설정)
  • 장치 램 크기 1024MB (숫자에 MB 추가)
  • 초록 LCD 160

여기 4.1.0 API 16에 대한 태블릿 구성 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

이 설정은 소프트웨어 키도 보여줍니다 스크린 샷 Android 4.1 에뮬레이터 1280x800 @ 160


1
나는 전에 그것을 시도하지 않은 것에 대해 약간 바보 같은 느낌이 든다 :)!
caiocpricci2

2
+1 나는이 조언을 받아 명령 행에서 에뮬레이터를 시작하여 이것을 작동시켰다. Xavier가 곧이 오류에서 우리를 구 해주길 바랍니다 ..
OceanLife

9
"Memory Option : RAM"을 512로 줄이고 SDcard Size를 300MiB로 설정하여 오류를 해결했습니다.
누군가 어딘가에

3
진지하게, 멍청한 벌레 ... / facepalm 적어도 지금은 진행할 수 있습니다! 감사합니다!
mrswadge

2
와. 이것은 끔찍하다. 공식 SDK 및 테스트 키트가 올바르게 처리하지 않습니까? .ini 파일을 직접 편집해야하는데 거의 1 년이 걸렸습니까? 그것은 미쳤다.
matt lohkamp 1

67

이 다음 솔루션은 저에게 효과적이었습니다. 다음 구성 파일에서

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

바꾸다

hw.ramSize=1024

으로

hw.ramSize=1024MB

1
이유는 확실하지 않지만 이것이 수정되었습니다. 감사합니다
schar

1
좋은 위치, 이것은 버그 여야합니다 ... 파일 규칙을 따르고 M도 사용했습니다.
HGPB

17
정말 구글의 한심한 일이다. 그들은 테스트하지 않습니까?
Cory Trese

+1 이것은 나에게 효과가있다. 램 크기를 지정할 때 1GB를 선택했기 때문일 수 있습니다.
Eng.Fouad

4
다른 대답으로 누군가는 "MB"가 실제로 인식되지 않고 1024MB에서 1024MB로 변경하면 실제로 메모리가 256MB로 줄어들어 작동을 시작한다고 주장했습니다. 출처 : stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki

9

내 경우에는, 솔루션뿐만 아니라 변화하는 것이었다 config.ini뿐만 아니라 hardware.ini에서 특정의 피부 hw.ramSize=1024hw.ramSize=1024MB.

hardware.ini파일 을 찾으려면

  1. 를 열고 config.ini찾습니다skin.path .
  2. 그런 다음 Android SDK가있는 폴더로 이동하십시오.
  3. 다음과 같이 경로를여십시오. android-sdk\platforms\android-15\skins\WXGA720 .
  4. 이 폴더 안에는 hardware.ini .
  5. 변경 hw.ramSize=1024hw.ramSize=1024MB.

2
나를 위해 일했다. 사람들이 왜 당신의 대답을 싫어하는지 모르겠습니다. 감사!
Veaceslav Gaidarji

5

업데이트 : Android SDK Manager 버전 21부터 C : ​​\ Users \ .android \ avd \ .avd \ config.ini를 편집하고 값을 변경하는 것이 해결책입니다.

hw.ramSize = 1024 ~

hw.ramSize = 1024MB

또는

hw.ramSize = 512MB


3

AVD RAM을 에뮬레이터가 할당 할 수있는 단일 연속 메모리 블록보다 큰 것으로 설정하면이 오류가 발생합니다. RAM을 많이 닫고 에뮬레이터를 시작하고 필요한 다른 모든 것을 시작하십시오. 이전 답변에서는 IntelHAXM을 사용하여 x86 이미지로 제한했지만 실제로는 모든 유형의 에뮬레이터 인스턴스에 해당합니다.


3

AVD 설정에서 : CPU / ABI 옵션을 MIPS로 변경하십시오. 그것은 나를 위해 일했다


1

나는 같은 문제가 있었고 결국 문제는 RAM 크기였습니다. 분명히 1024 (또는 모든 크기)는 1024MB와 다릅니다. 단위를 지정했는지 확인하십시오.


1

config.ini 파일에서 ramSize를 변경해도 효과가 없었습니다.

안드로이드 가상 장치 편집 창에서 SD 카드 크기를 1000 MiB로 변경했습니다 ... 작동했습니다! :)


당신의 대답은 문제와 관련이 있습니까? 문제는 RAM과 관련이있는 것으로 보이므로 SD 카드 크기를 변경해도 변경되지 않습니다.
클래스 스태커

0

Android 가상 장치 편집으로 이동하여 1024 메모리 부족 옵션을 768로 변경하십시오. 그래도 작동하지 않으면 계속 낮추십시오.


0

AVD 설정에서 RAM 크기를 줄이는 것이 저에게 효과적이었습니다. AVD가 느리면 많은 RAM을 소비 할 수 있으므로 최소로 유지하는 것이 가능합니다.


0

피부를 위해 피부 없음을 제거하고 피부에 약간의 피부를 추가하십시오

여기에 이미지 설명을 입력하십시오


0

다른 답변이 효과가 없다면 이것을 시도하십시오.

나를 위해 이것은 API 27 에뮬레이터에서 발생했습니다.

API 26 에뮬레이터는 정상적으로 작동했습니다. 그래서 API 26 Emulator를 먼저 시작한 다음 닫았습니다.

그런 다음 API 27 Emulator를 시작했으며 전혀 오류가 없었습니다.

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