Need for Speed

Genymotion: eine Alternative zu Google-Emulatoren
Keine Kommentare

Es gibt wohl kaum einen Android-Entwickler, der sich nicht schon in der einen oder anderen Weise über die Emulatoren aus dem Hause Google geärgert hat. Extrem langsam, arm an Funktionalität und dazu noch buggy – viel Gutes gibt es wirklich nicht über die virtuellen Devices zu berichten. Und selbst wenn man sich an die in „Pimp up your Emulator“ (Röwekamp, Lars; Limburg, Arne, in Java Magazin 9.2013) beschriebenen Schritte zum „Pimpen“ der Emulatoren hält, kommt nicht wirklich Freude auf. Wieso also nicht einmal eine Alternative ausprobieren?

Die Tatsache, dass Android-Emulatoren die reale Hardware des zu emulierenden Systems widerspiegeln, bringt zwar den Vorteil realitätsnaher, virtueller Umgebungen mit sich, geht aber gleichzeitig zu Lasten der Performanz. Sowohl die „Start-up“-Phase als auch das eigentliche Laufzeitverhalten kann für den Entwickler nahezu unerträgliche Dimensionen annehmen. Verantwortlich hierfür sind die unterschiedlichen Instruction Sets von ARM (Emulator) und x86 (Host), die eine performancefressende Interpretation der Befehle zur Folge haben.

Natürlich gibt es den einen oder anderen Trick zur Beschleunigung des virtuellen Devices, wie zum Beispiel das Arbeiten mit Snapshots oder die Nutzung des Host-GPU-Supports. In der Regel bringen diese Maßnahmen aber nur einen überschaubaren Performanceschub mit sich und sind häufig nicht miteinander kombinierbar.

Deutlich schneller – wenn auch noch immer nicht wirklich schnell – wird es erst unter Verwendung spezieller x86-Images und Virtual Machine Acceleration. Für diesen Schritt ist zusätzlich die Installation des Intel Hardware Accelerated Exceution Managers (kurz: HAXM) notwendig. So weit, so gut – oder eben auch nicht.

Schnell, schneller, am schnellsten

Nach all der Nörgelei stellt sich also die Frage nach einer gangbaren Alternative. Schnell(er) sollte sie sein und wenn möglich auch über ein paar mehr Features verfügen als die Google-eigenen Emulatoren. Wenn darüber hinaus noch eine verbesserte Laufzeitstabilität hinzukäme, wären all unsere Emulatorträume erfüllt.

Einen möglichen Kandidaten für den Titel „echte Alternative“ finden wir in Genymotion. Der Android-Emulator aus dem Hause Genymobile nutzt Oracles Virtual Box als Ablaufumgebung und ist schnell – verdammt schnell. Als Entwickler kann man aus ca. dreißig verschiedenen, vorgefertigten Devices auswählen und diese mit beliebigen OS-Versionen (2.3.7 bis 4.4.4) kombinieren. Zusätzlich lassen sich die vorgegebenen Devices noch bezüglich Bildschirmauflösung, Pixeldichte, Prozessoranzahl und Speicher anpassen, sodass letztendlich beliebige Konfigurationen erstellt werden können. Dank vorhandener Plug-ins für das Android Studio von IntelliJ und das Eclipse ADT Bundle kann der Entwickler den Emulator problemlos in Kombination mit seiner Lieblings-IDE verwenden, inklusive Logcat-Browser und Debugging (Abb. 1).

Abb. 1: Genymotion und Android Studio

Abb. 1: Genymotion und Android Studio

Darfs ein wenig mehr sein?

Richtig interessant wird es aber erst, wenn man sich die einzelnen Zusatzfeatures des Genymotion genauer anschaut. Spätestens hier zeigt sich der wahre Unterschied zum Android-Standard-Emulator. Verschiedenste Widgets, wie z. B. Batterie, GPS, Kamera oder Netzwerk, erlauben die manuelle Manipulation des Devicestatus und ermöglichen so das Testen der eigenen App in realitätsnahen Situationen. Ein Vorteil, der sonst nur auf echten Devices erreicht werden kann.

So kann beispielsweise das Verhalten der App bei unterschiedlichen Netzwerkverbindungen und -stärken oder bei ab- bzw. zunehmender Batterieladung getestet werden. Auch die eigene GPS-Position kann manuell eingestellt werden, inklusive gewünschter Genauigkeit des GPS-Signals. Für die Interaktion mit einem Serverdienst ist darüber hinaus die Möglichkeit zum Angeben einer simulierten Android-ID bzw. IMEI interessant. Ebenfalls sehr nützlich ist das Screencast Widget. Mit seiner Hilfe können einzelne Screenshots oder gleich ein ganzer Screencast erstellt werden.

Google-Apps-Support

Was aber ist, wenn man eine der Google-Apps, wie G-Mail, Google Maps oder den Google Play Store nutzen möchte? Auf dem Originalemulator sind diese – wie auf fast allen realen Devices – bereits vorinstalliert. Anders dagegen bei Genymotion. Hier sind die Apps seit der Version 2.0 nicht mehr auf den Devices zu finden.

Um es kurz zu machen: Es ist möglich, bedarf aber einiger manueller Schritte. Zunächst einmal muss ein Programm namens „ARM Translation“ installiert werden. Im Anschluss kann dann das für die auf dem Emulator installierte Android-Version passende Google-Play-Zip-Files via Drag and Drop auf das Device gezogen werden. Der darin enthaltene Play Store erlaubt den Zugriff auf den gesamten Google Store und somit auch auf die Google-eigenen Apps. Eine detaillierte „Step-by-Step“-Anleitung findet sich auf stackoverflow.

Fazit

Der Genymotion-Emulator aus dem Hause Genymobile stellt eine echte Alternative zu dem im Android ADT enthaltenen Emulator von Google dar. Deutlich schneller und mit etlichen Zusatzfeatures versehen, ist er genau das, was sich ein Entwickler für die tägliche Arbeit wünscht.

Und auch im Testprozess lässt Genymotion den Entwickler/Tester nicht im Stich. Mithilfe eines Java-API können die verschiedenen Sensoren des Emulators manipuliert und so die korrekte Reaktion der eigenen App auf diese Änderungen getestet werden. Zusätzlich lassen sich via Scripting mehrere Emulatoren mit unterschiedlichen Konfigurationen bequem in den eigenen Testprozess einbinden.

Wünschenswert wäre, zukünftig wieder die Google-Play-Apps auf dem Emulator vorinstalliert zu finden. Hier ist man laut Genymobile in Gesprächen mit Google und „guter Hoffnung“. In diesem Sinne: Stay tuned.

Mobile Technology

Mobile TechnologyDieser Artikel ist im Mobile Technology erschienen. Mobile Technology ist der Wegbegleiter für alle, die sich professionell mit der Entwicklung für mobile Devices und den Möglichkeiten, die der Markt des Mobile Business und Marketing bereithält, beschäftigen.

Natürlich können Sie das Mobile Technology über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. In unserem Shop ist das Mobile Technology ferner im Abonnement oder als Einzelheft erhältlich.

 

Aufmacherbild: the light trails on the street in shanghai china von Shutterstock.com / Urheberrecht: ssguy

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -