HAXM [] (HAXM), Lektion, Seite 723255
https://www.purl.org/stefan_ram/pub/haxm (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Android-Entwicklung

HAXM

In dieser Lektion sind Schritte zur Beschleuning des Emulators mit HAXM kurz beschrieben. Da die Schritte hier nur kurz beschrieben sind, richtet sich diese Lektion eher an fortgeschrittenere Leser. Der Emulator kann auch ohne HAXM verwendet werden, eventuell ist er dann etwas langsamer.

Der Android -Emulator kann durch eine Hardware-Unterstützung  beschleunigt werden.

Um diese Unterstützung zu aktivieren, sind die folgenden Schritte zu durchlaufen:

HAXM-Software

Zunächst einmal muß die Intel-HAXM-Software für die Hardware-Beschleunigung auf dem Rechner installiert werden. Diese Software sollte nach der ersten Installation gelegentlich aktualisiert werden (auf dem neusten Stand gehalten werden).

Eine geeignete Datei war beispielsweise die folgende:

Datei (relativ klein)
http://dl.google.com/android/repository/extras/intel/haxm-windows_r05.zip

Es sollte aber nach der neuesten Revision dieser Software gesucht werden und dann diese installiert werden.

Im ZIP-Archiv findet sich die folgende Datei.

Datei
intelhaxm.exe

Falls die Software nicht installiert werden kann, könnte dies daran liegen, daß die Unterstützung für die Hardware-Beschleunigung noch in den BIOS-Einstellungen freigeschaltet werden muß.

Falls dies nicht möglich ist oder die Software dann immer noch nicht installiert werden kann, könnte es auch sein, daß der im physikalischen Rechner vorhandenen Prozessor eine HAXM-Hardware-Beschleunigung gar nicht unterstützt. Informationen dazu können dem Datenblatt des Prozessor-Herstellers entnommen werden.

Emulator-x86

Eine Datei wie »sysimg_x86_64-22_r01.zip«-Datei ist zu beschaffen und zu entpacken. Bei einem 32-Bit-Betriebssystem entfällt »_64«, die Versionsnummern im Dateinamen sind an das verwendete SDK anzupassen, weiterhin ist normalerweise die neueste Revision zu verwenden. Pfade waren beispielsweise:

Dateien (relativ groß)

http://dl.google.com/android/repository/sys-img/x86/sysimg_x86-18_r09.zip

http://dl.google.com/android/repository/sys-img/android/sysimg_x86_64-22_r01.zip

http://dl.google.com/android/repository/sys-img/android/sysimg_x86_64-22_r05.zip

Das im Archiv enthaltene Verzeichnis »x86_64« wird nun in das folgende Ziel kopiert; dorthin, wo sich vielleicht auch schon »armeabi-v7a« befindet.

Ziel
%LOCALAPPDATA%\android-sdk_r24.0.2-windows\android-sdk-windows\system-images\android-22

Anpassen von »Please.java«

Nun sind in der Datei »Please.java« die folgenden Änderungen vorzunehmen:

entfernen
hw.cpu.arch=arm
statt dessen einfügen
hw.cpu.arch=x86_64
entfernen
out.println( "hw.cpu.model=cortex-a8\n" );
entfernen
out.println( "image.sysdir…armeabi…" );
statt dessen einfügen
out.println( "image.sysdir.1=system-images\\android-22\\x86_64\\\n" );

Sicherheitshalber sollte die bisherige »Please.class« gelöscht werden.

Anpassen von »20_first.cmd«

Nun sind in der Datei »20_first.cmd« die folgenden Änderungen vorzunehmen:

An das Ende der Zeile, die mit »CALL "%ANDROID_SDK%\tools\android.bat"« beginnt, sollte angefügt werden: » --abi x86_64«.

Anschließend kann die Datei »20_first.cmd« gestartet werden.

Eine eventuelle Fehlermeldung »Invalid --abi x86_64 for the selected target« kann anscheinend ignoriert werden, denn nach dem Start des Emulators erscheint auf der Konsole »HAX is working and emulator runs in fast virt mode«.

Alternativ könnte auch versucht werden, den Ordner »armeabi-v7a« aus

%LOCALAPPDATA%\android-sdk_r24.0.2-windows\android-sdk-windows\system-images\android-22

zu entfernen, so daß der Emulator dort nur das Verzeichnis »x86_64« findet. Dann wäre die Angabe »--abi x86_64« möglicherweise nicht nötig.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723255 stefan_ram:723255 HAXM Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723255, slrprddef723255, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/haxm