수정 방법 : "HAX가 작동하지 않고 에뮬레이터가 에뮬레이션 모드에서 실행됩니다"


141

질문은

"HAX가 작동하지 않고 에뮬레이터가 에뮬레이션 모드에서 실행됩니다"라는 메시지가 나타납니다. 이는 Intel x86 에뮬레이터 가속기 (HAXM) 설치 및 CPU가 CPU Intel Atom (x86)으로 설정된 DVD를 실행하는 것과 관련이 있습니까? HAXM을 설치 한 후 AVD가 더 빨리 실행되는 것처럼 느껴지더라도이 메시지는 AVD 성능이 저하되었음을 나타냅니다. 고쳐야한다면 어떻게해야합니까?

Mac OS X 10.9.1에서 실행 중입니다.

안드로이드 SDK 관리자를 통해 내 시스템에 설치된 것을 나열하십시오.

  • 도구
    • 안드로이드 SDK 도구 Rev 22.3
    • Android SDK 플랫폼 도구 개정판 19.0.1
    • 안드로이드 SDK 빌드 툴 Rev 19.0.1
    • 안드로이드 SDK 빌드 툴 Rev 19

==

  • Android 4.4.2 (API 19)
    • SDK 플랫폼
    • ARM EABI v7a 시스템 이미지
    • 인텔 x86 아토 시스템 이미지
    • 구글 API
    • 안드로이드 SDK 소스

==

  • 엑스트라
    • HAXM (Intel x86 Emulator Accelerator) 및 dmg 설치 프로그램도 실행하고 핫픽스를 발견 한 후 핫픽스를 설치했습니다.

AVD 설정

  • 플랫폼 4.4.2
  • API 레벨 19
  • CPU Intel Atom (x86)

내가 avd를 실행하면 :

(ruby-2.0.0-p353) .android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

나는 따라 가고 에뮬레이터는 결국로드

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode

이 오류가 발생했지만 에뮬레이터가 이미 실행 중이므로 실제 문제는 Visual Studio 대상이 Any CPU 대신 iPhone 이었기 때문에 시뮬레이터에 배포가 수정되었습니다.
Jaider

답변:


200

예, 수정해야합니다. HAXM이 작동하지 않습니다. AVD 구성에서 사용하기 위해 얼마나 많은 RAM이 설정되어 있습니까?

768M은 좋은 숫자이지만,이 숫자는 HAXM 설치 중에 설정 한 메모리 사용량보다 적거나 같아야합니다. 설치를 다시 시작하여 수정할 수 있습니다.


9
@ ph0b 감사합니다. HAXM은 1024 개의 메모리 할당으로 설치되었으며 내 avd 인스턴스의 메모리 할당은 1907로 설정되었습니다. 이것을 지적 해 주셔서 감사합니다.
GnrlBzik

44
HAXM 설치 프로그램은 1GB 기본값을 제안했지만 Nexus 5 AVD는 1536을 사용하도록 설정되어 있습니다. 1GB로 다시 설정하면 시작됩니다!
aalaap

14
감사. 궁금한 분들을 위해 HAXM 설치 프로그램 파일의 위치는 sdk/extras/intelADT 번들 폴더에 있습니다. AVD Manager의 HAXM 항목에 커서를 놓으면 정확한 위치가 표시됩니다.
Koh

2
@zhelon은 분명히 HAXM을 구성하는 유일한 방법은 설치 프로그램을 다시 실행하는 것입니다.
ThomasW

23
Windows 및 Android Studio를 사용하는 경우 다음을 수행하십시오. Android Studio : 도구> Android> AVD 관리자> 장치> 고급 설정 표시> RAM을 원하는 크기로 설정 제어판> 프로그램 및 기능> Intel Hardware Accelerated Execution Manager> 변경> 수동 설정> 원하는 크기로 설정에서.
신경 전달 물질

66

Mac 을 사용하는 경우 오픈 소스가 아닌 데스크탑 응용 프로그램 (예 : 크롬, 파이어 폭스, 일식 등)을 설치할 수있는 내장 확장 (2015 년 기준) 인 cask 를 통해 homebrewhaxm사용하여 설치할 수 있습니다 .

brew cask install intel-haxm 

안드로이드 스튜디오

Android Studio를 사용하는 경우 메뉴 Tools➞ 에서 동일한 결과를 얻은 SDK Manager다음 SDK 도구 탭에서 Intel x86 Emulator Accelerator (HAXM 설치 관리자) 확인란을 선택 하고을 클릭 Ok합니다.


49

내가 해결 한 방법은 AVD 메모리 제한과 HAXM 메모리를 1GB = 1024MB 크기로 설정하는 것입니다. AVD는 HAXM보다 높은 메모리 제한을 가질 수 없습니다.

1. HAXM 메모리를 1024 M으로 설정

HAXM 메모리를 변경하는 유일한 방법은 다시 설치하는 것입니다. 나는 터미널을 사용하여 그것을했다. 머신에서 Hardware_Accelerated_Execution_Manager 를 찾으십시오 . 그런 다음 해당 폴더의 디렉토리를 변경하여 설치 스크립트를 실행하십시오.

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

권한을 변경해야 할 수도 있습니다.

sudo chmod 755 "HAXM installation"

그때:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

2. HAXM 메모리 제한과 동일한 크기의 가상 장치 설정

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

이것은 나를 위해 작동합니다. 행운을 빕니다!


2
이것은 나를 위해 일했다. AVD 구성 화면을 찾고 있다면 도구> Android> AVD 관리자
stephenspann

2
동시에 두 개 이상의 AVD를 실행하려면 HAXM 최대 RAM이 실행중인 모든 AVD의 총합이어야합니다. 즉, 두 개의 AVD @ 1024MB = 2048MB입니다.$ sudo ./HAXM\ installation -m 2048
Jason Hartley


20

Windows의 경우.

에서 Android Studio:

도구 > Android > AVD 관리자 > 장치 > 연필 아이콘 > 고급 설정 표시 > 메모리 및 저장 공간 > RAM > RAM을 원하는 크기로 설정하십시오.

에서 Control Panel:

프로그램 및 기능 > Intel Hardware Accelerated Execution Manager > 변경 > 수동 설정> RAM을 원하는 크기로 설정하십시오.

두 위치에 설정된 RAM 크기는 동일해야합니다.


2
이 값을 설정할 정확한 위치를 설명하기 위해 +1 인터넷에 너무 많은 답변이 나와 같은 독자가 항상 가지고 있지 않은 지식 수준을 가정합니다.
MikeKulls

4

Has on Intel 웹 사이트의 최신 버전을 확인하고 설치하십시오. 램을 권장 크기 "사전 설정 2048"로 설정 한 다음 앱을 실행 해보십시오. 일이 잘 작동합니다.


2

예, 수정해야합니다. HAXM이 작동하지 않습니다.

HAXM은 때때로 작동합니다. HAXM 사용 경험은 현재 여러 플랫폼에서 산발적입니다.

예를 들어, 2009 년 말 iMac에서 10.8.5 및 i7 프로세서 @ 2.8Ghz, Android SDK 22.6을 오늘 아침 (03/05/14)에 업데이트했습니다. API17은이 iMac 시스템에서 HAXM 가속을 사용하여 에뮬레이터를 빌드 할 것입니다.

또한 2013 년 초 MBP 15 "Retina에서 10.8.5 및 i7 프로세서 @ 2.7Ghz, Android SDK 22.6을 오늘 아침 (03/05/14)에 업데이트했습니다. API17은 HAXM 가속화로 에뮬레이터를 빌드하고 API19도 훌륭하게 작동합니다. .

듀얼 코어 i5 및 매버릭스와 함께 2013 년 말 MBP Retina 13 "(개인용)에 적합합니다.

새로운 API19 x86 이미지가 HAXM이 작동하는 데 필요한 구형 CPU (심지어 i7조차도)에서 누락 된 칩 수준에서 가상화가 진행되고 있습니다. API19가 작동하지 않으면 API17 또는 16을 사용해보십시오.


2

Mac에서 파인더를 열고 다음 Ctr + Alt + G 을 입력 한 후/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

에뮬레이터 가속기의 설치 프로그램을 찾아서 실행하고 수정 해야하는 메모리를 설정하고 안드로이드 응용 프로그램을 실행하기 위해 다시 시도하십시오.


위의 키 입력 시퀀스는 저에게 효과적이지 않았지만 IntelHAXM_<version name>.dmg'sdk / extras / intel'디렉토리에서 파일을 찾고 거기에서 설치 프로그램을 실행했습니다 (Mac OSX)
kip2

2

인텔 프로세서를 실행중인 경우 SDK 관리자에서이 옵션을 확인하여 SDK 관리자를 통해 HAXM (Intel® Hardware Accelerated Execution Manager) 설치 프로그램이 설치되어 있는지 확인하십시오. 아래 경로를 통해 HAXM 설치 프로그램 ext를 실행하십시오.

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

또한 HAX 설치를 수행하는 동안 할당 된 램 크기를 확인하여 에뮬레이터의 램 크기에 맞 춥니 다.

비디오 는 문제 해결에 도움이 될 수있는 모든 필수 단계를 보여줍니다.

비디오 는 HAXM 설치 후 문제가 발생해도 도움이됩니다.


1

"HAXM (Intel x86 Emulator Accelerator)"모드에서 시작하려는 에뮬레이터의 램 크기보다 정확히 또는 약간 더 큰 공간에 맞도록 HAX 설치를 수행하는 동안 할당 된 램 크기를 늘리십시오.

성공하면 콘솔 / log에서 볼 수 있습니다.

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



1

geckob의 솔루션은 완벽하게 작동합니다. 주의 : 제공하는 HAXM은 실행중인 모든 장치에서 사용됩니다. 따라서 휴대 전화와 태블릿에서 동시에 테스트하고 있고 각각 1G 요구 사항이있는 경우 그런 다음 할당 된 HAXM이 2G 이상인지 확인하십시오.


1

SDK 관리자에서 HAXM 다운로드

Android Studio에서 SDK 관리자를 열고 스크린 샷에 표시된 아이콘을 클릭하십시오.

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

"기본 설정"대화창에서 "독립형 SDK 관리자 실행"을 클릭하십시오.

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

"추가> Intel x86 Emulator Accelerator (HAXM 설치 프로그램)"노드를 확인하고 HAXM 다운로드를 진행하십시오.

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

HAXM 설치 또는 수정

이제 다운로드 위치에 액세스하여 HAXM의 설치 (또는 기존 installtino 수정)로 액세스 할 수 있습니다. "실행"에이 경로를 입력하십시오

% localappdata % \ Android \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager

파일 "intelhaxm-android.exe"를 더블 클릭하십시오.

기존 HAXM 설치를 수정하면서 HAXM에 할당 된 메모리 크기를 늘릴 수 있습니다. 32GB의 RAM을 가진 컴퓨터가 있고 동시에 여러 AVD를 시작하여 (자동 테스트 등) 8GB를 HAXM에 할당했습니다.

경고

1GB의 하나의 AVD를 실행 중이고 2GB를 HAXM에 할당 한 경우 RAM이 1GB를 넘는 다른 AVD를 실행할 수 없습니다. HAXM을 수정하거나 설치할 때 Android 장치 모니터가 실행되고 있지 않은지 확인하십시오 (서명하지 않도록).

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

이 단계는 Windows 플랫폼에서 테스트되었지만 일반적으로 약간 수정하여 다른 플랫폼에도 적용 할 수 있습니다.


1

내 문제는 에뮬레이터 응용 프로그램을 종료했기 때문에 더 이상 작동하는 에뮬레이터를 더 이상 실행할 수 없지만 프로세스가 완전히 종료되지 않았기 때문에 이전 에뮬레이터가 계속 실행되는 동안 다른 에뮬레이터를 시작하려고했습니다. 맥에서는 액티비티 모니터를 사용하여 다른 프로세스를보고 죽여야했습니다. 단계 :

  1. 유틸리티 또는 Command + Space를 사용하여 활동 모니터 열기
  2. 내 경우에는 qemu-system ... 프로세스 이름을 찾으십시오.
  3. 프로세스를 선택하십시오.
  4. 왼쪽 상단의 'x'버튼을 사용하여 프로세스를 강제 종료하십시오.
  5. 나는 '강제 종료', 평범한 '종료'를 사용할 필요는 없지만 둘 중 하나를 사용할 수 있습니다.

1

필자의 경우 HAXM 메모리를 AVD 메모리와 동일하게 설정하면이 오류가 수정되었습니다. HAXM 메모리 1024MB = AVD 메모리 1024MB

Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.

이 시점까지 오류를 수정해야합니다.

이제 OS X를 사용하는 누군가에게 도움이 될 수 있도록 특정 환경을 나열하고 있습니다.

OS X El Capitan 10.11.4

MacBook (13 인치), 2GHz Intel Core 2 Duo, 4GB Ram.

안드로이드 스튜디오 2.1

마시멜로 (23) x86 ( 는) 깜박이는 Android 아이콘 화면 을 몇 시간 동안 통과하지 못했습니다 .

Lollipop (22) x86이 깜박이는 Android 아이콘 화면을 통과 한 후

  • Android 시작 (y 앱 중 x 개 최적화)
  • Android 시작 (앱 시작)
  • Android 시작 (연락처 데이터베이스 업데이트)
  • Android를 시작하고 (마무리 부팅) 몇 시간 동안 여기에 머물러 있습니다 .

KitKat (19) x86이 성공적으로 작동 하여 그곳에 hello world를 설치할 수있었습니다.


이것이 답입니까? @zeeawan
GnrlBzik 2016

예, HAXM 메모리 1024MB = AVD 메모리 1024MB 조합으로 hax가 작동하기 시작합니다. 또한 에뮬레이터 OS X에서 나를 위해 일을 시작하는 방법이 응답 주소는
zeeawan

더 많은 이야기가 필요하다고 생각합니다.
GnrlBzik

그렇다면 오류를 수정했지만 에뮬레이터 부팅에 여전히 문제가 있습니까?
Sam

KitKat (19) x86에서는 문제가 없었습니다.
zeeawan

0

AVD 장치 구성을 다시여십시오. AVD 관리자에서 장치를 편집하여 AVD Android 버전을 선택하십시오. 오른쪽 분할 창에 권장 사항 에 따라 권장 사항 이 표시되고 모든 것이 수정됩니다.


0

HAX에 할당 된 기본 메모리는 1024MB입니다. 그리고 Nexus 5x API 25의 경우 에뮬레이터의 크기는 1536MB입니다.

Android Studio를 사용하는 경우

  • 도구-> AVD 관리자로 이동하십시오.
  • 그런 다음 에뮬레이터를 선택하고 편집을 위해 오른쪽의 연필 버튼을 클릭하십시오.
  • 새 창에서 고급 설정으로 이동하여 RAM 값을 1024로 변경하십시오.

매력처럼 작동합니다. :)

안드로이드 스튜디오의 스크린 샷

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