HAXM

Einrichtung des Intel Hardware Acceleration eXecution Managers (HAXM)

Versionsgeschichte
Version Aktualisierungsdatum Änderungen
0.2 19.02.2016 - Korrekturen
- Android Studio 1.5.x
0.1 05.10.2014 Erste Fassung

Kurzbeschreibung

Der normale Emulator für Android Entwicklung ist auch auf potenten Rechnern sehr langsam und macht, mir zumindest, keinen Spaß bei der Entwicklung. Es gibt insgesamt mehrere Möglichkeiten, dieses Problem komplett zu beseitigen oder zumindest stark abzuschwächen.

  • Einsatz des x86-Emulators mit HAXM (Thema dieses Tutorials)
  • Einsatz eines Android x86 Images in einer virtuellen Maschine (z.B. von Genymotion oder Bluestack)
  • Einsatz eines Hardware-Gerätes für die Entwicklung

In diesem Tutorial beschreibe ich den Einsatz des x86 Images in AVD in Verbindung mit Intel HAXM.

Voraussetzungen

  • Prozessor
    • Intel Virtualization Technology (VT, VT-x, vmx) Erweiterungen
  • Android SDK Tools ab Revision 17 und höher
  • x86 Android Image

Wenn man ein AVD mit HAXM startet, sollten alle virtuelle Maschinen (z.B.: VirtualBox, VMWare, usw.) geschlossen werden, da deren Treiber oft Probleme verursachen.

Ein AVD mit HAXM kann nicht in einer virtuellen Maschine, sondern nur direkt auf dem Host ausgeführt werden.

Installation

Download

Man kann Intel HAXM entweder über Android SDK Manager oder direkt über die Intel-Seite (Link in der Side-Bar) heruntergeladen.

  • In Eclipse
    • Gehen Sie auf Window -> Android SDK Manager
    • Im Bereich Extras wählen Sie Intel x86 Emulator Accelerator (HAXM installer)
    • Klicken Sie auf Install packages …
    • Nach dem Download, schließen Sie Eclipse
  • In Android Studio
    • Aus dem Startbildschirm gehen Sie zu Configure -> SDK Manager
    • Im Bereich SDK Tools wählen Sie Intel x86 Emulator Accelerator (HAXM installer)
    • Klicken Sie auf OK
    • Nach dem Download, schließen Sie Android Studio

Installation des HAXM Treibers

Sie finden die Installationsdatei für HAXM innerhalb Ihres Android SDK-Ordners im folgenden Unterverzeichnis:

  • OS X / Linux: <sdk_folder>/extras/intel/Hardware_Accelerated_Execution_Manager
  • Windows: <sdk_folder>\extras\intel/Hardware_Accelerated_Execution_Manager

Führen Sie die Installation des Treibers durch (exe für Windows und dmg für OSX).

Während der Installation kann auch die max. Größe des zugeordneten Arbeitsspeichers festgelegt werden. Dieser sollte beachtet werden, wenn man ein neues AVD anlegt. Wenn man bei der Installation nur 1GB RAM zugebilligt hat, wird ein beschleunigtes AVD mit mehr als 1GB RAM nicht mehr funktionieren.

Nach der Installation empfehle ich, den Neustart des Betriebssystems um eventuelle Probleme beim Laden des Treibers zu vermeiden.

Die erfolgreiche Installation kann über die Kommandozeile einfach geprüft werden:

  • OS X / Linux: kextstat | grep intel
    Ausgabe: com.intel.kext.intelhaxm
  • Windows:sc query intelhaxm
    Ausgabe:
    SERVICE_NAME: intelhaxm

    STATE : 4 RUNNING

Anlegen eines x86 AVDs

Laden Sie zuerst, wenn noch nicht geschehen, die x86 Android Images über den Android SDK Manager, für Android Versionen, mit denen Sie entwickeln.

Nicht für alle Android Versionen gibt es auch einen x86-Image.

  • In Eclipse
    • gehen Sie auf Window -> Android Virtual Device Manager
    • Klicken Sie auf Create
    • Um einen HAXM beschleunigten AVD anzulegen, wählen Sie als CPU/ABI Intel Atom (x86) aus
  • In Android Studio
    • Öffnen Sie ein Projekt
    • Starten Sie AVD Manager über den Button in der Toolbar oder über das Menü Tools -> Android -> AVD Manager
    • Bei der Anlage des AVD wählen Sie als ABI (CPU-Architektur) x86 oder x86_64 für die Android Version Ihrer Wahl
  • Alle anderen Einstellungen, können wie für ein gewöhnliches AVD festgelegt werden
  • Beachten Sie hier die Größe des RAM (Arbeitsspeicher). Dieser sollte nicht größer sein, als bei der HAXM Installation angegeben.

Damit sind Sie nun in der Lage HAXM beschleunigte AVDs für die Entwicklung zu benutzen, was bei Notebooks den Akku sehr schont, als auch die Entwicklung deutlich flüssiger macht.

Weitere Artikel zu Android