Dez 152012
 

Jeder der für Android entwickelt wird schnell feststellen, dass die Emulatoren von Google so gut wie nutzlos sind. Sobald die eigene App Funktionen wie Kalender nutzen will wird man mit diesen Emulatoren scheitern. Die haben nämlich keinen Kalender, kein Google Play u.s.w. an Board. Um diese dann zu implementieren muss man einiges an unschönen Sachen anrichten. Zudem sind die original Emulatoren auch grottenlangsam. Es dauert ewig bis sie gestartet sind und die Arbeit darauf macht auch keinen Spass.

Seit der Version 4 – oder 4.1? – von Android gibt es auch eine Version für X86 Prozessoren für Intel. Das hat sich ein Projekt zu nutze gemacht um eine VM anzubieten die auf dieser Version basiert. Damit ist es möglich Android auch in anderen Virtualisierungslösungen zu starten. Konkret nutzt das Projekt AndroVM die VirtualBox von Oracle. Das heisst, dass Teil ist rasend schnell. Beim Starten und auch danach beim Arbeiten.

Und so richtet man sich die Geschichte ein.

  1. Download der VirtualBox mit anschliessender Installation.
  2. Download der der gewünschten Version als OVA Datei.
  3. Import der OVA Datei in VirtualBox.
    OVA Datei improtieren
  4. Datei auswählen.
    OVA Datei auswählen
  5. Danach einfach alles mit weiter durchklicken. Die OVA Datei wird importiert. Danach müsste es in etwa wie folgt aussehen.
    VM direkt nach dem Import
  6. Jetzt würde ich der VM noch einen sinnvollen Namen geben. Dies wird wie folgt gemacht.
    VM Name anpassen
  7. Wenn man gedenkt auf dem Emulator eine App zu debuggen muss man die Netzwerkschnittstelle noch anpassen. Ich habe es nicht ganz so gelöst wie auf der Webseite beschrieben, da mir das zu aufwendig war. Einfach im Adapter 1 “Angeschlossen an:” auf Netzwerkbrücke stellen. Damit bezieht die VM eine IP vom Router im eigenen Netzwerk. Bei mir ist das eine IP im 192.168.1.xx Netz. Funktioniert logischerweise nur wenn man einen DHCP Dienst im Netzwerk hat. Ist aber bei den meisten Routern der Fall.
    VM Netzwerk anpassen
  8. Jetzt ist man so weit und kann die VM das erste mal starten. Bei mir dauert es etwa 20 Sekunden und Android ist da. Beim ersten Start wird man noch vom Einrichtungsassistent begrüsst. Dort kann man nun seine Daten angeben und hat dann zugriff auf Google Play.
  9. Unter den Anwendungen findet man die App androVM Configurator. Die App kann gestartet werden und zeigt einem welche IP der VM vergeben wurde. Bei mir 192.168.1.45. Mit den Einstellungen in der App kann nun gespielt werden. Aber bei einigen Veränderungen startete mir danach die VM nicht mehr. Also Vorsicht.

Jetzt ist man soweit um App’s aus Google Play zu installieren. Aber ich will ja meine eigene App im Emulator testen. Da dieser Emulator alles unterstützt was ich brauche, muss ich ihn nur noch dazu bringen das ich aus Eclipse raus meine App installieren kann. Geht wie folgt.

  1. Wie man sieht erkennt Eclipse die neue VM noch nicht.
    Device in Eclipse vor dem adb connect
  2. Wenn man jetzt aber im cmd ein “adb connect <ip>” eingibt ändert sich das.
    adb connect <ip>
    Device in Eclipse nach dem adb connect
  3. Nun kann man in eigene App auf der VM starten.
    Debugger in Eclipse starten auf der VM
  4. Als Beweis:
    Der Beweis - gestartete App

Jetzt ist man in der Lage ganz normal mit der VM zu entwickeln. Und das viel schneller und flüssiger als mit den Emulatoren von Google.

Ach ja. Wenn die Maus in der VM gefangen ist drückt man einfach die rechte CTRL Taste. Nervte mich persönlich. Deshalb habe ich die auf die linke CTRL Taste verlegt. Kann in den Einstellungen gemacht werden.

  6 Responses to “Android Dev – Schneller Android Emulator”

Comments (6)
  1. Hallo Roland,

    für meine ersten Versuche in diesem Thema habe ich mein altes HTC Desire direkt per USB an den Rechner gekoppelt.

    Mich hat das Starten des Emulators aus Eclipse heraus auch immer genervt, es hat einfach zu lange gedauert. Mit dem angeschlossenen Handy dauert es nur 2-3 Sekunden.

    Meinst du, ich habe dadurch einen Nachteil, außer, dass ich nur eine Hardware-Plattform testen kann? Für kurze Tests hat es bisher gereicht.

  2. Du hast ganz sicher keinen Nachteil ausser den den du erwähnst. Auf dem physischen Device zu testen ist eh besser. Aber eben. Wenn du nur ein 2.3'er Android hast ist natürlich ein Emulator mit einer 4.1'er Verison und allen nötigen an Software herzlich willkommen.

  3. Servus Roland,

    bin durch Zufall auf Deinen Blog und diesen Beitrag gestolpert und muss sagen – sehr genial.

    Eine Frage hätte ich jetzt noch.

    Gibt es eine Möglichkeit einen "Gemeinsamen Ordner" in beiden Welten zu haben? Also im Host und im Gast? Über die normalen Einstellungen in der Virtual Box geht es nicht. Und auch einen USB Stick nimmt Android nicht an?!?

    Gibts einen Trick oder habe ich was übersehen?

    Grüße aus Hessen

  4. Sorry, da muss ich passen. Hatte dieses Bedürfniss noch nicht. Kann dir also nicht wirklich helfen.

  5. Und ich hab mich immer mit dem Emulator geärgert erspart einfach sehr viel Zeit,

    danke dir

  6. Ich arbeite in zwischen auch îm Büro damit wenn es möglich ist. Aktuell bin ich an einer App wo das sehr gut möglich ist. Ist dann auch viel angenehmer als auf den Geräten.

Sorry, the comment form is closed at this time.