android - 에뮬레이터 - 안드로이드 가상 머신




Android 에뮬레이터가 왜 그렇게 느린가요? Android 에뮬레이터의 속도를 높이려면 어떻게해야합니까? (20)

Intel x86 에뮬레이터 가속기 사용

먼저 Intel x86 Emulator Accelerator (HAXM)를 설치하십시오. 이것은 인텔에서 직접 다운로드하거나 Android SDK 관리자를 사용하여 다운로드 할 수 있습니다. SDK 관리자에서 Extras 아래에 있습니다.

Android Studio의 버전 (0.8.9)에서 Android SDK Manager가 HAXM을 다운로드하지만 실제로 설치 프로그램을 실행하지 않습니다 (이후 릴리스에서 수정 될 예정 임). 설치를 실행하려면 C : \ Program Files (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager로 가서 intelhaxm.exe를 수동으로 실행해야했습니다.

HAXM은 Intel 장치와 함께 작동하므로 Intel CPU가 장착 된 새로운 에뮬레이터가 생성되었습니다.

Intel Atom x86을 사용하여 새로운 AVD 만들기

이 점이 상당히 개선되었지만 에뮬레이터는 여전히 약간 느린 느낌이 들었습니다. 마지막 단계는 Android Virtual Device Manager (AVD)에서 호스트 GPU 사용을 선택하는 것입니다.

이 변경 사항을 적용한 후 Android Emulator는 5 ~ 10 초 만에 실행되었으며 눈에 띄는 지연없이 실행되었습니다. 이러한 기능은 하드웨어 종속 (CPU / GPU)이며 일부 시스템에서는 작동하지 않을 수 있습니다.

x86 Windows XP Professional 컴퓨터에 2.67GHz Celeron 프로세서와 1.21GB RAM이 있습니다.

나의 이해는 안드로이드 에뮬레이터 가 그런 기계에서 상당히 빨리 시작해야한다는 것이지만 나에게는 그렇지 않다. IDE, SDK, JDK 등을 설정하는 데 필요한 모든 지침을 따라했으며 에뮬레이터를 빨리 시작하는 데 약간의 성공을 거두었지만 매우 드뭅니다. 가능한 경우 어떻게하면이 문제를 해결할 수 있습니까?

홈 화면을 시작하고로드하더라도 매우 느립니다. 나는 버전 3.5 (갈릴레오)와 3.4 (가니메데)에서 이클립스 IDE 를 시도했다.


0:40:20부터 Google I / O 2011 : Android Development Tools 대화에서 에뮬레이터 문제를 검토 할 수 있습니다.

에뮬레이트 된 하드웨어에서 완전한 Android 환경이 실행되고 지침이 에뮬레이트 된 ARM 프로세서에서도 실행되므로 에뮬레이터가 느리게 실행됩니다.

주요 쵸킹 포인트는 렌더링입니다. 전용 하드웨어에서는 실행되지 않지만 소프트웨어 렌더링을 통해 실제로 수행됩니다. 화면 크기를 줄이면 에뮬레이터 성능이 크게 향상됩니다. 더 / 더 빠른 메모리를 얻는 것은 도움이되지 않습니다.

그들은 당시에 에뮬레이터가 호스트 하드웨어를 통해 특정 명령어를 파이프 할 수 있도록 인터페이스를 개발 중이라고 언급 했으므로 궁극적으로 데스크탑 하드웨어의 원시 성능으로 에뮬레이터 성능을 활용할 수있게되었습니다.


Android SDK rev. 17은 AMD 및 인텔 가상화 기술을 사용하여 가상 시스템 가속을 지원합니다.

이 기능은 에뮬레이터 성능을 훨씬 향상시킬 수 있습니다!

자세한 내용은 Android 에뮬레이터 설명서의 다음 섹션을 참조하십시오. 가상 머신 가속 구성

운영 체제에 맞는 드라이버를 설치하는 것을 잊지 마십시오.

드라이버를 설치하고 Android X86 시스템 이미지를 다운로드 한 후 (설명서에 설명 된대로) x86 이미지를 사용하여 새 AVD를 만들 수 있습니다.

예 :

  • 대상 : Intel Atom x86 시스템 이미지 - API 레벨 10
  • CPU / ABI : Intel Atom (x86)

Android 에뮬레이터 릴리스 9에는 새로운 "스냅 샷"기능이 있습니다. 에뮬레이터의 상태를 저장 ( 에뮬레이터 의 이미지 만들기)하고 에뮬레이터를 시작할 때 부팅하지 않도록 할 수 있습니다.


Eclipse의 (오래된) 버전에 포함 된 에뮬레이터는 매우 느립니다.

최근 에뮬레이터는 2010 년에 사용하는 것보다 빠릅니다. SDK / IDE를 업데이트하십시오.

개인적으로, 나는 진짜 전화를 사용하여 내 검사를합니다. 그것은 더 빠르며 테스트는 더욱 현실적입니다. 그러나 많은 다른 Android 버전에서 응용 프로그램을 테스트하고 여러 대의 휴대폰을 구입하고 싶지 않은 경우 때때로 에뮬레이터를 사용해야합니다.


다음 명령으로 emulator.bat를 작성하여 에뮬레이터를 시작할 수 있습니다. 더 빨리 시작할 것입니다.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

Unix (Mac 또는 Linux) :

emulator -cpu-delay 0 -no-boot-anim @<avd name>


에뮬레이터가 느립니다. 정말 할 수있는 일은 없지만 에뮬레이터의 대안이 있습니다.

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Windows Android 에뮬레이터

  6. 콩의 항아리

  7. Andy

에뮬레이터를 더 빠르게 만들려면 GPU를 호스팅하고 더 가벼운 Android 버전 ( Android 2.3 (진저 브레드))을 사용할 수 있습니다. Mac에서 개발하는 것이 더 좋을 것입니다. 왜 에뮬레이터를 사용합니까? 실제 전화를 사용하는 것이 더 합리적입니다.


에뮬레이터의 시작이 매우 느립니다. 좋은 점은 한 번만 에뮬레이터를 시작하면됩니다. 에뮬레이터가 이미 실행 중이고 앱을 다시 실행하면 에뮬레이터가 앱을 상대적으로 빠르게 다시 설치합니다. 물론 전화기에서 얼마나 빨리 실행되는지 알고 싶다면 실제 전화로 테스트하는 것이 가장 좋습니다.


여기 내가 아무도 그것을 전혀 언급하지 않은 것을 보았습니다.

사용 가능한 모든 프로세서를 에뮬레이터에 할당

여기 당신이 시도 할 수있는 것이 있습니다. 에뮬레이터 속도가 느려지는데, 특히 로딩 중에는 그렇습니다. 에뮬레이터가 사용 가능한 CPU의 단일 코어 만 사용하고있는 것으로 나타났습니다. 사용 가능한 모든 프로세서를 사용하도록 설정했습니다.

Windows 7을 사용하고 있습니다.

Android 에뮬레이터가 시작되면 작업 관리자를 열고 프로세스 탭에서 "emulator-arm.exe"또는 "emulator-arm.exe * 32"를 찾습니다. 마우스 오른쪽 버튼을 클릭하고 프로세서 선호도를 선택한 다음 에뮬레이터에 원하는만큼의 프로세서를 할당하십시오.


추가 정보를 추가하려면

나는 최근 내 Ubuntu 설치를 Ubuntu 10.04 LTS (Lucid Lynx)로 업그레이드했는데, 이는 내 Java 버전을 다음과 같이 업데이트했다.

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

그리고 이제 에뮬레이터 (시작하는 데 시간이 걸리지 만)는 이전보다 빠르게 실행되는 것으로 보입니다.

JVM을 업그레이드하는 사람들에게 가치가있을 수 있습니다.


현재 에뮬레이터가 하드웨어 GL을 지원하지 않기 때문에 주로 Android 3.0 (Honeycomb)에서 현재 (2011 년 5 월) 버전의 에뮬레이터가 느립니다. 즉 GL 코드가 소프트웨어 (ARM 소프트웨어)로 변환되어 QEMU 소프트웨어에서 에뮬레이트 됨. 이것은 미쳤다. 천천히. 그들은이 문제를 해결하기 위해 노력하고 있으며 부분적으로 해결했지만 어떤 종류의 배포 품질로도 해결하지 못했습니다.

Google I / O 2011 : Android Development Tools 에서 동영상을 확인하십시오. 약 44 분으로 이동하십시오.



업데이트 : 안드로이드 스튜디오 (2.x)의 최신 버전은 번들 에뮬레이터를 크게 향상 시켰습니다. 반응이 빠르고 다양한 기능이 있습니다.

아직도 관심이있는 사람들을 위해 : Genymotion 사용해보십시오. 등록 후 Windows / Mac OS X / Linux 용 버전을 다운로드 할 수 있습니다. Eclipse 용 플러그인도 사용할 수 있습니다.

플러그인 설치는 Eclipse를 실행하고 "Help / Install New Software"메뉴로 이동 한 다음 http://plugins.genymotion.com/eclipse 와 함께 새 업데이트 사이트를 추가하기 만하면됩니다. Eclipse가 지시하는 단계를 따르십시오.

이 에뮬레이터는 빠르고 반응 적입니다.

GenyMotion을 사용하면 배터리 수준, 신호 강도 및 GPS를 비롯하여 장치의 다양한 센서를 제어 할 수 있습니다. 최신 버전에는 이제 카메라 도구가 포함되어 있습니다.


최신 정보

이제 Android 에뮬레이터의 빠른 부팅 옵션을 사용할 수 있습니다. 그러면 에뮬레이터 상태가 저장되고 다음 부팅시 에뮬레이터가 빠르게 시작됩니다.

에뮬레이터 편집 버튼을 클릭 한 다음 고급 설정 표시 를 클릭하십시오. 그런 다음 아래의 스크린 샷처럼 Quick Boot 활성화하십시오.

ADT (Android Development Tools) 9.0.0 (이상)에는 AVD (에뮬레이터)의 상태를 저장할 수있는 기능이 있으며 즉시 에뮬레이터를 시작할 수 있습니다. 새 AVD를 만들 때이 기능을 활성화해야합니다. 또는 나중에 AVD를 편집하여 나중에 만들 수 있습니다.

또한 Device RAM Size1024 늘리면 매우 빠른 에뮬레이터가됩니다.

자세한 정보는 아래의 스크린 샷을 참조하십시오.

스냅 샷 저장 기능으로 새 AVD 만들기.

스냅 샷에서 에뮬레이터 시작.

에뮬레이터의 속도를 높이려면 다음을 참조 하십시오. Android 에뮬레이터의 속도를 높입니다. :


Android Studio 용 genymotion.com 을 사용해보십시오 . 타오르는 빠른! 한 번만 설치하면됩니다. 더 이상 AVD 통증이 없습니다.


간헐적 인 느린 에뮬레이터 (SDK v8.0)로드 시간, Intel Core i7 920 2.67 GHz CPU에서 Xubuntu 10.04 VirtualBox 3.2.12 게스트 (Eclipse (3.6.1)로드)를 실행하는 데 최대 3 분의로드 시간이 걸렸습니다 . 저는 VirtualBox 게스트 메모리를 1024 MB에서 2048 MB로 변경했으며, 그 시점부터 다시는 느려지지 않았습니다 (로드 시간은 33 초로 일관되고, CPU로드는 20 %로 일정했습니다). 이클립스와 에뮬레이터는 모두 메모리 혹스이다.


글쎄요, 누군가가 안드로이드 x86을 대안적인 테스트 에뮬레이터로 제안했기 때문에, 내가 좋아하는 것을 제시 할 것입니다. 이것은 모든 사람들에게 대안이 될 수는 없지만 나를 위해 완벽합니다!

Bluestacks 플레이어를 사용하십시오 . Android 2.3.4를 실행하며 매우 유동적이고 빠릅니다. 때로는 일반 장치보다 훨씬 빠릅니다. 유일한 단점은 API 레벨 10 및 한 화면 크기로 앱을 테스트 할 수 있다는 것입니다. 그러나 작동 여부에 관계없이 테스트하기에 적합합니다. 플레이어를 adb실행 하여 연결하기 만하면됩니다.

adb connect 127.0.0.1 

컴파일 한 후 즉시 설치됩니다. 오히려 평균적인 컴퓨터 하드웨어 (4GB RAM의 듀얼 코어)를 가지고 있다는 점을 감안하면 매우 인상적입니다.


에뮬레이터 시작 시간을 줄이려면 에뮬레이터를 시작하기 전에 "부트 애니메이션 비활성화"를 확인해야합니다. Android 설명서를 참조하십시오 .

혹시라도 모를 경우, 앱을 실행 / 디버깅 할 때마다 에뮬레이터를 닫을 필요가 없습니다. 이미 열려있는 상태에서 실행 / 디버그를 클릭하면 APK 파일이 에뮬레이터에 업로드되어 거의 즉시 시작됩니다. 에뮬레이터는 처음 시작할 때만 귀찮게 오래 걸립니다.

다음은 Android 에뮬레이터의 속도를 높이는 몇 가지 팁입니다. Android 에뮬레이터의 속도를 최대 400 %까지 늘리는 방법 입니다.


이전 버전의 Android는 훨씬 빠르게 실행됩니다. 내 netbook에있을 때 Android 1.5 (API 레벨 3)를 사용합니다. 그러나 두 가지 단점이 있습니다 - 앱이 이전 플랫폼을 지원해야하며 (분명히) ndk-gdb는 Android 2.2 (API 레벨 8) 이상을 실행해야합니다. 그러나 오래된 플랫폼에 대해 정기적으로 앱을 테스트하는 것은 좋은 생각입니다.







qemu