Start Magazin Android mit Genymotion und VirtualBox virtualisieren

Android mit Genymotion und VirtualBox virtualisieren

Nicht nur für Entwickler ist es nützlich Android aus dem Gefängnis realer Hardware zu befreien. Ein virtuelles Android macht es möglich gefahrlos zu testen und experimentieren. Genymotion ermöglicht es auch Laien Android in einer virtuellen Maschine zu betreiben.

Jeder App-Entwickler ist darauf angewiesen seine selbst gebaute Android-App möglichst breit testen zu können. Da es für kleine Entwickler praktisch unmöglich ist, Androiden in unzähligen Formen und Versionen vorrätig zu halten, liefert Google daher seit geraumer Zeit im Android-SDK einen Android-Emulator [1] für den Desktop-PC mit, der verschiedene Android-Versionen, CPU-Architekturen und Displays abbilden kann.

Doch nicht nur Entwickler profitieren von einem virtuellen Android auf dem Computer. Auch Anwender suchen immer wieder einen Weg ein Android-Handy in ein Fenster zu bannen. So ließen sich etwa gefahrlos Apps testen, das Lieblings-Handy-Spiel auch mal auf dem PC spielen oder vor dem Kauf prüfen, welche App sich denn nun besser auf dem Tablet macht, wenn dieses gerade einmal nicht zur Hand ist.

Android Emulator lahmt

Der offizielle Emulator leidet jedoch unter einer Reihe von Einschränkungen. Zum einen arbeitet die Emulation nicht wirklich flott – selbst nachdem es inzwischen möglich ist die GPU des Hosts mitarbeiten zu lassen – zum anderen enthält das emulierte Android-System nie das Google-Framework. Google Maps, Chrome oder natürlich auch der Play Store lassen sich daher nicht so einfach in dem emulierten System benutzen, das Nachinstallieren von Apps über den Google-Market ist unmöglich.

Abbildung 1: Der Android Emulator eignet sich aufgrund seiner Trägheit nur bedingt für Experimente.
Abbildung 1: Der Android Emulator eignet sich aufgrund seiner Trägheit nur bedingt für Experimente.

Als Alternative bot sich längere Zeit das Open-Source Projekt AndroVM [2] an. Auf Basis der Arbeit von Android x86 [3], das Android auch auf herkömmlicher PC-Architektur lauffähig machen möchte, verfrachtete AndroVM mit Hilfe von VMware oder VirtualBox Android in eine virtuelle Maschine. Das virtualisierte Android arbeitete schon damals deutlich schneller als der Emulator aus dem SDK.

Systemvoraussetzungen

  • OpenGL 2.0 fähige Grafikkarte
  • VT-x oder AMD-V fähige CPU mit mindestens 2 GHz
  • Mindestens 2 GByte RAM
  • Mindestens 2 GByte Speicherplatz

Inzwischen ist aus AndroVM ein kommerzielles Projekt geworden, als Genymotion [4] lässt sich die Android-VM jedoch weiterhin kostenlos benutzen. Später sollen einmal zusätzliche Features für Entwickler hinzukommen, die nur nach dem Kauf einer Lizenz freigeschaltet werden. Noch ist Genymotion jedoch für jeden interessierten User vollumfänglich kostenlos benutzbar.

Abbildung 2: Genymotion inklusive bereits installierten und startbereiten Android-Systemen.
Abbildung 2: Genymotion inklusive bereits installierten und startbereiten Android-Systemen.

Aufgrund des Supports von OpenGL läuft das virtualisierte Genymotion-Android auf dem PC praktisch genauso schnell und flüssig, wie Sie das von aktuellen Android-Handys kennen. Die Voraussetzungen dafür sind entsprechend des Kastens "Systemvoraussetzungen" ein halbwegs aktueller PC und eine OpenGL-fähige Grafikkarte mit entsprechenden Treibern.

Genymotion einrichten

Das virtuelle Android in Form von Genymotion bekommen Sie nach einer kostenlosen Registrierung auf der Homepage des Projekts. Downloads stehen generell für Windows, MacOS X und Linux bereit, für Windows-User gibt es zudem eine Variante, die das ansonsten getrennt zu installierende VirtualBox [5] – eine Software zum Betrieb von virtuellen Maschine ähnlich wie etwa VMWare, allerdings kostenlos und Open-Source – gleich mitbringt. Auf anderen Betriebssystemen müssen Sie VirtualBox vor dem Start von Genymotion eigenständig installieren und grundlegend einrichten.

Abbildung 3: Die unterschiedlichen Android-Images lädt sich Genymotion aus dem Internet.
Abbildung 3: Die unterschiedlichen Android-Images lädt sich Genymotion aus dem Internet.

Abbildung 4: Der Pfad zum Android-SDK muss korrekt in Genymotion eingetragen werden.
Abbildung 4: Der Pfad zum Android-SDK muss korrekt in Genymotion eingetragen werden.

Nach dem ersten Start führt Genymotion noch keine virtuellen Maschinen. Über Add gelangen Sie in das Menü Create a new virtual device. Dort loggen Sie Sich in Ihren Genymotion-Account ein. In diesem Dialog finden Sie nun eine große Auswahl fertige Android-VMs, die Sie abermals über Add herunterladen und im System ablegen.

Genymotion bietet Maschinen im von VirtualBox unterstützen Format Open Virtualization Archive (kurz OVA) mit Android 4.1 und neuer an. Verschiedene Geräte-Typen mit unterschiedlichen Auflösungen stehen zur Wahl. In mit "with Google Apps" gekennzeichnete VMs ist das Google-Framework mitsamt Play Store bereits vorinstalliert.

Genymotion unter Linux

Um Genymotion unter Linux zu betreiben, bietet der Entwickler diverse Linux-Downloads an. Für 32- oder 64-Bit Ubuntus, Fedoras oder RedHats gibt es jeweils ein einheitliches Binary-Paket. Für 64-Bit-Debians wird ein extra Paket offeriert, zudem sollte auf diesen Systemen noch das Paket libpng3 eingespielt werden.

Zur Installation setzten Sie mit chmod das Execute-Bit und rufen das sich selbst extrahierende Archiv auf. Alle Daten werden daraufhin in das Verzeichnis genymotion im aktuellen Ordner entpackt. Im nachstehenden Listing finden Sie die Befehle anhand eines 64-Bit Systems ausgeführt.

$ chmod +x genymotion-1.2.1_x64.bin
$ ./genymotion-1.2.1_x64.bin
$ genymotion/genymotion

Seine Daten, also heruntergeladene OVA-Images und die aktiven virtuellen Maschinen legt Genymotion im Ordner ~/.Genymotion ab. Die aktiven VMs werden automatisch mit Ihrer VirtualBox-Installation verknüpft, so dass Sie die Android-VMs auch direkt in VirtualBox sehen, so dass Sie hier auch tiefgreifende Änderungen an den VMs vornehmen können. Starten Sie eine Android-VM aus VirtualBox, fehlt jedoch das Genymotion-Menü an der Seite.

Damit Sie später über die Android-Debug-Bridge – kurz adb – auf das virtualisierte System zugreifen können, müssen Sie noch unter Menu und Settings den Path to Android SDK, also den Pfad zu Ihrer Installation des Android-SDKs [6], eintragen. Geben Sie an dieser Stelle nicht denn vollständigen Pfad zur adb.exe beziehungsweise adb-Binary ein, sondern nur den Pfad zum SDK selber. Also ohne ein abschließendes platform-toolsadb.exe oder platform-toolsadb.

Die Android-VM starten

Liegen nun eine oder mehr Android-VMs auf Ihrer Festplatte, startet Sie das virtualisierte Android über einen Klick auf Play. Je nach Rechenpower Ihres Systems – empfehlenswert sind Rechner ab der ersten Core-Generation Intels – startet die VM in nur wenigen Augenblicken.

Wie bei Android üblich gilt es anfangs das System einzurichten und etwa die Sprache auszuwählen. Nutzen Sie eine VM mit vorinstalliertem Google-Framework, fragt Sie der Einrichtungs-Assistent auch nach Ihrem Google-Account. Legen Sie sich am besten für Ihrer virtuellen Test-Androiden ein eigenes Google-Konto an.

Abbildung 5: Das mit VirtualBox virtualisierte Android mit den Zusatztasten von Genymotion.
Abbildung 5: Das mit VirtualBox virtualisierte Android mit den Zusatztasten von Genymotion.

Das virtuelle Android bedienen Sie nun genauso wie Ihr Handy. Die Maus ersetzt Ihren Zeigefinger. Zur Eingabe von Texten nutzen Sie jedoch die Tastatur Ihres PCs, ein virtuelles Keyboard erscheint bei Genymotion nicht. In den Einstellungen der VM – erreichbar über das kleine Icon mit dem Schraubenschlüssel – oder über die App "Genymotion Configurator" ließe sich das virtuelle Keyboard jedoch auf Wunsch nachträglich auch aktivieren.

Abbildung 6: Bequem gaukeln Sie dem virtuellen Android-System eine beliebige GPS-Position vor.
Abbildung 6: Bequem gaukeln Sie dem virtuellen Android-System eine beliebige GPS-Position vor.

Abbildung 7: Genymotion bringt im Gegensatz zum Android Emulator des SDKs den Play Store mit.
Abbildung 7: Genymotion bringt im Gegensatz zum Android Emulator des SDKs den Play Store mit.

Rechts neben dem Android-Screen finden Sie virtuelle Gerätetasten wie Lauter/Leiser, An/Aus oder auch die Android-Buttons Menü, Zurück und Home. Über das Batteriesymbol lässt sich dem virtuellen Android vorgaukeln, dass ihm der Strom ausgeht. Das GPS-Icon öffnet ein Fenster, das dem virtuellen Handy beliebige GPS-Koordinaten unterjubelt. Eine durchsuchbare Karte erleichtert Ihnen die Wahl Ihres simulierten Standorts.

Viel Power und Play Store

Entwicklern und erfahrenen Usern muss der Nutzen einer virtuellen Maschinen wohl kaum erklärt werden. Android-User profitieren besonders von der Integration des Play Stores in den Genymotion-VMs und von den typischen Handy-Buttons in der Oberfläche. In der virtuellen Maschine experimentieren Sie gefahrlos mit unbekannten oder verdächtigen Apps, ohne Ihr eigenes Handy zuzumüllen oder zu gefährden.

Genymotion bietet in seiner Oberfläche zwar keine Option Snapshots einer aktiven VM zu erstellen, doch über das VirtualBox-Backend ist dies – wie bei "normalen" VMs mit Desktop- oder Server-Systemen – kein Problem. So sichern Sie eine vorkonfigurierte VM und kehren mit wenigen Mausklicks zu einem älteren Zustand zurück. In VirtualBox selbst haben Sie auch die Möglichkeit die VM mit Ihrer Demo-App zu archivieren und an Interessenten weiterzugeben.

Abbildung 8: VirtualBox listet die Android-VMs auf, dort lassen sie sich ausführlich konfigurieren.
Abbildung 8: VirtualBox listet die Android-VMs auf, dort lassen sie sich ausführlich konfigurieren.

Die Performance des virtualisierten Androids hängt natürlich stark vom eingesetzten Host-System ab. Für das Schreiben dieses Artikels wurde ein angestaubtes Debian-System mit einem drei GHz schnellen Intel Core2Duo E84000 und vier GByte RAM genutzt. Hier lief das virtuelle Android deutlich schneller und flüssiger als der Android-Emulator, wenn auch das System ansonsten gut ausgelastet war. Entwickler finden zudem mit der Genymotion-API eine Möglichkeit interaktiv auf die Android-VM zuzugreifen und so etwa Features wie NFC per Software zu emulieren.


Kommentiere den Artikel

Please enter your comment!
Please enter your name here