안드로이드 에뮬레이터의 빠른 실행


251

안드로이드 에뮬레이터는 약간 느립니다. Motorola Droid 및 Nexus One과 같은 일부 장치의 경우 앱이 실제 장치에서 에뮬레이터보다 빠르게 실행됩니다. 게임 및 시각 효과를 테스트 할 때 발생하는 문제입니다.

에뮬레이터를 가능한 빨리 실행하려면 어떻게합니까? 나는 그 매개 변수를 가지고 놀았지만 아직 눈에 띄게 개선 된 구성을 찾지 못했습니다.


1
내 모든 앱이 기기에서 더 빠르게 실행

16
iPhone 시뮬레이터가 정확히 반대이기 때문에 재미 있습니다. 기기에서 앱이 느리게 실행됩니다. 대부분의 경우 앱을 개선하도록 자극하기 때문에 느린 에뮬레이터를 선호하지만 때로는 실제 장치에서와 같이 작동하는 것을보고 싶을 때가 있습니다.
hpique

1
그것은 VirtualBox를 사용하여 일명 일반적으로 훨씬 빠르게 실행하는 것이 가능 - 볼 stackoverflow.com/a/6058689/40961
데이비드 D C 전자 Freitas의

5
iOS와 Windows Mobile은 시뮬레이터를 사용하는 반면, Android는 에뮬레이터를 사용합니다. 시뮬레이터는 호스트 라이브러리를 사용하여 모든 모바일 라이브러리 및 API를 다시 구현하므로 속도가 빠릅니다. 에뮬레이터는 실제 장치와 동일한 라이브러리를 사용하므로 속도가 느립니다. 안드로이드 측면에서 안드로이드 가상 머신을 사용하면 매우 빠릅니다. 우리는 여기에 무료 VM을 제공합니다 : leapdroid.com
huisinro

2
... 그리고 6 년 후 얼마나 미쳤으며, HAXM 및 x86 시스템 이미지와 잘 정의 된 개발 환경에서도 안드로이드 에뮬레이터는 당밀만큼 느립니다?
aroth

답변:


229

공식 웹 페이지

~ 50 % 더 빠름

윈도우 :

  • "Intel x86 Emulator Accelerator (HAXM)"설치 => SDK-Manager / Extras
  • "Intel x86 Atom 시스템 이미지"설치 => SDK-Manager / Android 2.3.3
  • Android SDK 루트 폴더로 이동하여 extras \ intel \ Hardware_Accelerated_Execution_Manager로 이동하십시오. IntelHaxm.exe 파일을 실행하여 설치하십시오. (Android Studio에서 설정-> Android SDK-> SDK 도구-> Intel x86 Emulator Accelerator (HAXM 설치 관리자)로 이동할 수 있습니다)

  • "Intel atom x86"CPU / ABI로 AVD 생성

  • 에뮬레이터를 실행하고 콘솔에서 HAXM이 실행 중인지 확인하십시오 (명령 프롬프트 창을 열고 명령을 실행하십시오 : sc query intelhaxm).

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

이걸 설치하는 것도 잊지 마세요

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

AVD 생성 중 PS 에뮬레이션 메모리 추가 : 하드웨어 / 신규 / 장치 램 크기 / 설정 값 512 이상

리눅스 :

  • KVM 설치 : GOOGLE을 열고 "kvm installation"을 작성하십시오.
  • "Intel atom x86"CPU / ABI로 AVD 생성
  • 명령 행에서 실행 : 에뮬레이터 -avd avd_name -qemu -m 512 -enable-kvm
  • 또는 Eclipse : Run / Run Configurations / Tab "Target"-> Intel x86 AVD를 확인하고 "Additional Emulator Command Line Options"창에서 다음을 추가하십시오. -qemu -m 512 -enable-kvm (실행 클릭)

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

우분투를위한 Fedora위한 PS

OS-X :

  • Android SDK Manager에서 Intel x86 Atom 시스템 이미지를 설치하십시오.
  • Android SDK Manager에서 Intel x86 Emulator Accelerator (HAXM)를 설치하십시오.
  • 파인더에서 Intel Emulator Accelerator의 설치 위치로 이동하여 IntelHAXM을 설치하십시오 (dmg를 열고 설치를 실행하십시오). SDK 관리자의 에뮬레이터 가속기 항목 위에 마우스를 놓아 위치를 찾을 수 있습니다.
  • AVD를 만들거나 업데이트하고 Intel Atom x86을 CPU로 지정하십시오. 위치를 표시하는 Intel x86 에뮬레이터 가속기 (HAXM)

PS :이 도구를 확인, 매우 편리 심지어 시험


8
이것은 OSX에서도 작동합니다. /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmgSDK 관리자에서 패키지를 다운로드 한 후 설치해야합니다 .
Jarett Millard

5
"호스트 GPU 사용"에 대한 Windows 지침에 따라 초고속 에뮬레이터가 제공되었습니다! (I 지원되는 인텔 프로세서와 엔비디아 그래픽 카드를 사용하십시오.) 애니메이션이 부드럽게 버터 ( 대부분의 시간을 , 다른 시간, 약간의 끊김)! AVD Manager가 Intel Atom (x86) CPU 옵션 을 선택하려면 Eclipse다시 시작 해야합니다 . 팁 : 너무 많은 RAM을 할당하지 마십시오. 1GB RAM을 사용하면 에뮬레이터를 시작하지 못했지만 (GPU에서) 512MB RAM을 사용하면 원활하게 실행되고 GPU와 함께 매우 빠르게 부팅됩니다.
ADTC

LogCat이 많은 추적 경고로 스팸을받는 것을 발견했습니다. 필터하려면 ^(?!.*(nativeGetEnabledTags)).*$텍스트 필터로 사용 하십시오. 나는 이것을 버그 문제 로보고했다 . 또한 다음에 시작할 때 오류가 발생하지 않도록 에뮬레이터 장치를 올바르게 종료해야합니다 (전원 버튼을 누른 다음 전원 끄기 선택 ). ARM 에뮬레이터를 닫을 수는 있지만 Intel 에뮬레이터를 사용하면 닫는 것이 문제를 일으키는 것 같습니다).
ADTC

내가 할 수 있다면 +100을 줄 것이다. Windows 8에서 작동하고 성능이 크게 향상되었습니다!
Paolo M

2
제어판의 프로그램 및 기능을 통해 Hyper V 기술을 먼저 비활성화해야 작동했습니다.
Mike Flynn

34

업데이트 : 이제 Intel x86 이미지를 사용할 수 있으므로 가장 좋은 대답은 위의 것입니다.

CommonsWare가 올바르게 지적한대로 에뮬레이터는 ARM op CPU를 에뮬레이션하므로 Intel opcode로 변환해야하므로 속도가 느립니다. 이 가상화는 CPU를 씹습니다.

에뮬레이터를 더 빨리 만들려면 더 많은 CPU를 제공해야합니다. 빠른 CPU로 시작하거나 가능하면 업그레이드하십시오.

그런 다음 에뮬레이터에 더 많은 CPU를 제공하십시오.

  1. 하이퍼 스레딩 비활성화 -에뮬레이터가 둘 이상의 코어를 사용하지 않는 것처럼 보이므로 하이퍼 스레딩은 실제로 에뮬레이터가 얻는 전체 CPU 시간을 줄입니다. HT를 비활성화하면 여러 CPU를 이용하는 앱 속도가 느려집니다. BIOS에서 하이퍼 스레딩을 비활성화해야합니다.
  2. 에뮬레이터를 CPU 0 이외의 CPU에서 실행하십시오. 이것은 HT를 끄는 것보다 훨씬 적은 영향을 미치지 만 일부는 도움이됩니다. Windows에서는 프로세스가 실행될 CPU를 지정할 수 있습니다. 많은 앱이 CPU 0을 씹고 기본적으로 에뮬레이터는 CPU 0에서 실행됩니다. 마지막 에뮬레이터에서 실행되도록 에뮬레이터를 변경합니다. OS X에서는 선호도를 설정할 수 없습니다 ( /superuser/149312/how-to-set-processor-affinity-on-a-mac 참조 ).

이 두 가지 변경 사항이 적용되어 약 50 % 정도 개선 된 것으로 보입니다.

Windows 7에서 프로세서 선호도를 설정하려면 :

  1. 작업 관리자 열기
  2. 모든 프로세스보기를 클릭하십시오 (관리자로 실행하려면 그렇지 않으면 프로세서 선호도를 설정할 수 없음).
  3. emulator.exe를 마우스 오른쪽 버튼으로 클릭하고 선호도 설정 ...을 선택하십시오.
  4. 선호도 설정 대화 상자에서 마지막 CPU 만 선택하십시오.

참고 :이 방법으로 선호도를 변경하면 프로세스 수명 동안 만 변경됩니다. 다음에 다시 시작해야합니다.

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


22
논리 프로세서의 양을 절반으로 줄 였기 때문에 하이퍼 스레딩을 비활성화하면 CPU 비율이 두 배가되었습니다.
Timothy003

1
그것은 매력처럼 작동합니다 .. Ubuntu 11.10에서 어떻게해야하는지 알고 있습니까?
emeraldhieu

1
@ Timothy003 네, 맞습니다. 그리고 에뮬레이터가 사용할 CPU를 두 배로 늘 렸습니다.
mcohen75

3
작업 관리자에 표시되는 숫자 만 두 배로 증가합니다. 실제로는 아닙니다. 100 % CPU에서 최소 4 개의 스레드에 해당하는 충분한 작업을 생성하기에 충분한 소프트웨어를 실행하지 않는 경우 CPU 사용량이 많은 일부 앱은 여전히 ​​전체 코어를 얻을 수 있습니다. 작업 관리자가 표시하는 것은 의미합니다.
댄은 화염에 휩싸이다

3
@ Dan Neely의 말을 확인하려면 : 100 % CPU를 태우는 단일 핵심 앱이 있습니다. HT를 사용하면 약 25 %를 표시하지만 약 50 %를 표시하지 않지만 실제로는 동시에 계산 해야하는 것을 계산합니다. 따라서 차이는 없습니다 (적어도 Sandy Bridge에서는).
bartosz.r

17

Genymotion 에 스핀 을 제안하고 싶습니다 . 오라클의 VirtualBox에서 실행되며 보통 시스템에서 합법적으로 60fps에 도달합니다.

다음은 저가형 2012 모델 MacBook Air에서 실행되는 워크샵 중 하나의 스크린 캡입니다.

56.6fps로 실행되는 Nexus 7 에뮬레이터

텍스트를 읽을 수 없으면 56.6fps로 실행되는 Nexus 7 에뮬레이터입니다. 추가 (큰!) 보너스는 Google Play 및 Google Play 서비스가 가상 머신과 함께 제공된다는 것입니다.

데모 된 애니메이션의 소스는 여기에서 찾을 수 있습니다 .


12

API 15 v3 이상 및 SDK Tools v17 +를 사용하는 경우 GPU 하드웨어 가속 (Intel HAXM과 함께)을 활성화하십시오 . 에뮬레이터의 그래픽 가속은 개발 컴퓨터의 그래픽 하드웨어, 특히 그래픽 처리 장치 (GPU)를 활용하여 화면 그리기 속도를 향상시킵니다. 이것은 현저한 속도 향상을 제공합니다.

에뮬레이터에서 기본적으로 그래픽 가속을 활성화하려면 : AVD를 만들 때 하드웨어 섹션에서 새로 만들기를 클릭하고 GPU 에뮬레이션을 선택하고 값을 예로 설정하십시오.

런타임에만 가속을 활성화하려면 다음과 같이 에뮬레이터를 시작하는 동안 -gpu 플래그를 사용하십시오.

emulator -avd <avd_name> -gpu on

출처 : 구글은 에뮬레이터 자습서를 사용 .


10

편집 인텔 이미지를 사용하면 성능이 약간 향상되지만 Genymotion을 사용하면 얻을 수있는 성능이 훨씬 향상됩니다. Paul Lammertsma의 답변을 참조하십시오 .

이전 답변

ADT rev 17에서는 에뮬레이터가 Windows 및 Mac OS X에서 가상화 모드로 x86 시스템 이미지 실행을 지원합니다. 이는 성능에 현저한 영향을 미칩니다.

ADT rev 17 메모 : http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html

가상 머신 가속 구성 : http://developer.android.com/guide/developing/devices/emulator.html#accel-vm


7

나는 최근에 3GB 램을 가진 코어 2 @ 2.5에서 8gb 램을 가진 i7 @ 1.73으로 전환했고 (두 시스템 모두 우분투 10.10을 실행했다) 에뮬레이터는 현재 최소 두 배 빠른 속도로 실행된다. 더 많은 하드웨어를 던지면 확실히 도움이됩니다.


이것은 실제로 해결책이 아닙니다. 에뮬레이터의 시간당 처리량이 더 높아질 수 있지만 실제로 더 빨리 실행되지는 않습니다.
Clearer


4

에뮬레이터의 기본값은 코어 0으로, 대부분의 Windows 응용 프로그램은 기본적으로 "any"코어입니다. 또한 마지막 코어와 같은 다른 코어에 배치하면 에뮬레이터가 미쳐 버릴 수 있습니다. 가능하면 CPU 사용량이 많은 응용 프로그램을 다른 CPU 코어에 배치하여 속도를 높일 수 있습니다.

하드웨어 적으로 단일 코어 응용 프로그램에서 작동하는 가장 빠른 CPU를 확보하십시오. 2 개 이상의 코어는 에뮬레이터 성능면에서 큰 차이를 경험하지 못할 수 있습니다.

Eclipse + Android 에뮬레이터는 함께 많은 RAM을 소비합니다. RAM이 2 기가있는 시스템을 사용했기 때문에 적어도 3 기가 RAM을 권장하고 시스템에 RAM이 부족하여 페이지 파일을 사용하기 시작하여 속도가 느려졌습니다.

나는 최고의 CPU가 아마도 높은 클럭 (동일한 시리즈 btw의 CPU에 대한 측정으로 클럭 만 사용)을 가지고 SIMD가 아닌 작업을 잘 처리하며 터보 부스트 메커니즘을 가지고 있다고 생각합니다. Java 기반 벤치 마크는 많지 않지만 전체적으로 압축 및 사무실과 같은 응용 프로그램 벤치 마크를 찾습니다. SIMD의 영향을 많이받는 게임이나 미디어를 보지 마십시오. Java를 찾으면 훨씬 좋습니다.


4

올해 Google I / O (2011)에서 Google은 더 빠른 에뮬레이터를 시연했습니다. ARM과 x86 사이의 바이트 코드에는 문제가 아니라 QEMU에 의해 수행되는 소프트웨어 렌더링이 문제입니다. 그들은 QEMU의 렌더링을 우회하고 렌더링을 내가 믿는 X 서버로 직접 보냅니다. 그들은 정말 좋은 성능과 fps로 자동차 게임을 보여주었습니다.

개발자가 언제 사용할 수 있는지 궁금합니다 ...


이 에뮬레이터에 대한 뉴스가 있습니까? 그 이름은 무엇입니까?
alcor

소식이 없습니다. 작년에 대한 Android 에뮬레이터 업데이트를 추적하지 않았습니다.
Cesar

3

구글은 최근 새로운 안드로이드 에뮬레이터를 발표했다. 이전보다 훨씬 빠릅니다. 여기에서 자세한 정보를 찾을 수 있습니다 .


1

clr 가상 시스템이 코드 opcode 변환없이 직접 CPU를 사용하기 때문이라고 생각합니다. clr 응용 프로그램을 최적화하거나 INTEL 프로세서에서 시작된 Windows mobile / window phone 7 일 수 있습니다. 리눅스 기반의 안드로이드 플랫폼이며 이론적으로 i686 환경의 가상 머신에서 안드로이드를 시작할 수 있습니다. 이 경우 vmware와 같은 가상 머신은 일부 opcode를 개별적으로 실행할 수 있습니다. 그러나이 옵션은 Java로 작성하는 경우에만 허용됩니다. Java는 바이트 코드를 해석하거나 실행 전에 미리 컴파일하기 때문입니다. 참조 : http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks


1

@zest 감사합니다! 매력처럼 일했다. 참고 사항 : 커널 패닉 문제를 처리하려면 HAXM에 인텔 핫픽스를 적용해야합니다. http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager 또한, 참고 , abi가 둘 이상인 경우 최신 버전의 Android API (r19)의 버그로 인해 하나를 제거해야합니다. https://code.google.com/p/android/issues/detail?id= 66,740 (당신이 86 ABI 원하기 때문에,이 경우 armeabi-V7A 제거). 이 문제를 해결하는 데 45 분이 걸리는 것 외에도 에뮬레이터의 성능 향상 측면에서 매우 보람있는 운동이었습니다.




1

그래픽 카드가없는 경우 저 해상도 에뮬레이터 (예 : Nexus S)를 선택하십시오 (예 : 나와 같은).


0

Intel (86) CPU / ABI를 사용하고 있습니다. ARM (armeabi-v7a)을 사용하여 다른 에뮬레이터를 만들었고 속도가 상당히 향상되었습니다. 플랫폼 4.1.2 API 레벨 16을 사용하고 있습니다.


0

이것이 도움이되기를 바랍니다.

Goto to your BIOS settings. Enable your Virtualization technology in your settings..

내 문제가 해결되었습니다 ...


0

현재 Android Studio를 Android Studio 2.0으로 업데이트하고 시스템 이미지도 업데이트하십시오.

Android Studio 2.0 에뮬레이터는 Android의 이전 에뮬레이터보다 ~ 3 배 더 빠르게 실행되며 ADB 기능 향상을 통해 실제 장치보다 에뮬레이터에 앱과 데이터를 10 배 빠르게 푸시 할 수 있습니다. 실제 기기와 마찬가지로 공식 Android 에뮬레이터에는 Google Play 서비스가 내장되어 있으므로 더 많은 API 기능을 테스트 할 수 있습니다. 마지막으로, 새로운 에뮬레이터에는 통화, 배터리, 네트워크, GPS 등을 관리 할 수있는 다양한 새 기능이 있습니다.

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