14 Mai

Android Emulator mit Market

Wie schön wäre es doch wenn man Android Apps als erstes in einem Testsystem probieren könnte ohne das man Gefahr läuft sein System instabil werden zu lassen oder einfach Spiele aus dem Market am PC spielen könnte. Leider kommt der Android Emulator ohne Market, den größten aller verfügbaren Martkplätze. Aber gibt es nicht vielleicht einen Trick um den Market im Emulator doch verwenden zu können?

[ad#contentadbig]

Aktuell wird der Speicher noch von der Größe des ROMs beschränkt, somit kann so manche Testphase einer Appreihe zu einer Geduldsprobe werden, weil einem zum Beispiel der Telefonspeicher voll ist. Auf der anderen Seite könnte eine App Fehler ins System bringen und die ganze Android Umgebung damit in einen instabilen Zustand versetzen. Eigentlich möcht man das nicht, denn viele werden wie ich das Android auch für die tägliche Arbeit verwenden. Wie wäre es also, wenn man Apps auf dem Android Emulator testen könnte?
Eigentlich ist man dabei auf das Wohlwollen der Entwickler angewiesen, den diese müssten das APK auch außerhalb des Markets zum Download zur Verfügung stellen. Dies wird jedoch leider nur von den wenigsten gemacht.

Motivation

Um den Market im Emulator nutzen zu können, müsste man das apk des Markets installieren, dies ist jedoch eine extreme Herrausforderung und in meinen Augen unlösbare Aufgabe. Denn das vending.apk hat eine Menge Abhängigkeiten zu anderen Apks, die von Google stammen, die ebenfalls Abhängigkeiten von anderen Apps besitzen. Ich habe einige Zeit damit verbracht mir alle Apps zu besorgen und zu versuchen diese nacheinander auf dem Emulator zu installieren – leider führte das zu keinem Erfolg. Die Idee war es ein aktuelles System zu bauen, dass alle Komponenten beinhaltet und dieses dann der Community zur Verfügung zu stellen. Leider ist dies eine sehr aufwändige und zeitraubende Aufgabe. Im Schlimmsten Fall startet der Emulator nicht mehr und man muss alles rückgängig machen und neue Konstallationen testen.

Android system.img installieren

Zum Glück bin ich nach einigen Suche auf HTC Developer Center gestoßen. Dort wird ein Android Dev Phone zur Verfügung gestellt, das genau die gleichen Komponenten wie das HTC Dream enthält. Das ADP steht in der Android 1.6 Version zur Verfügung und beinhaltet eine system.img Datei. In diesem Image befinden sich alle Apps und Core Dateien, die man zum Starten und Ausführen von Android benötigt.


Hinweis Um die folgenden Schritte nachvollziehen zu können muss man unbedingt das Android SDK installiert haben


Als erstes muss man sich die Datei signed-dream_devphone_userdebug-img-14721.zip aus dem HTC Develoepr Center runterladen und diese dann entpacken. Neben anderen Dateien befindet sich dort die system.img Datei.
Wenn man sich die Dateien im Android SDK schon einmal etwas genauer angesehen hat, dann wird einem die system.img bekannt vorkommen. Jede SDK Plattform beinhaltet eine solche system.img Datei. Das naheliegenste wäre es also, sich einfach eine Plattform zu shcnappen, dort die system.img Datei zu ersetzen und dann einfach ein neues AVD anzulegen. Diese Methode würde funktionieren, man würde damit jedoch seine SDK Core Dateien überschreiben. Damit man nicht an den Kern Dateien manipulieren muss gibt es die Möglichkeit direkt im AVD eine alternative system.img Datei zu hinterlegen.
Als zweites starten wir also unseren Android SDK und AVD Manager und legen eine neue AVD mit dem Namen „Market“, dem Target „Android 1.6 – API Level 4“ und einer beliebigen Speichergröße an. Nachdem diese erfolgreiche angelegt wurde kopieren wir uns die entpackte system.img Datei und fügen diese im .android/avd/Market.avd Ordner, der sich im Systembenutzerordner befindet, ein.
Nun wird beim Starten der AVD die Alternative system.img geladen.
Nach dem Start des Emulators könnt ihr dann auf den Market zugreifen (Vorrausgesetzt, dass ihr ein Google Konto hinterlegt habt).


Tipps

Mit STRG+F12 könnte ihr von den Portait in den Landschaftsmodus schalten und wieder zurück.
Um den Emulator leichter starten zu können empfielt sich eine Verknüpfung mit dem Ziel „\tools\emulator.exe -avd Market“

Fazit

Mit diesen wenigen Schritten habt ihr nun die Möglichkeit sämtliche Apps einfach und unkompliziert zu testen. Leider habe ich bisher nur Dev Phones für Android 1.5 und 1.6 gefunden. Ich selbst habe, wie oben beschrieben, schon einige Experimente durchgeführt um eine eigene system.img Datei zuerstellen und habe auch versucht Custom Roms zum laufen zu bekommen. Falls Interesse an dem HowTo besteht gebe ich meine Erfahrungen gerne weiter. In der Hoffnung, dass die Community eine lauffähige 2.1 oder 2.2 zur Verfügung stellen kann.

Update

Neben der hier vorgestellten Möglichkeit im Emulator für Android 1.6 den Google Market zu nutzen exisiteren nun auch Wege mit Android 2.2 und 2.3 im Emulator auf den Market zugreifen zu können.
Bei ehalm.at findet man eine komplett konfigurierte AVD, die man wie oben beschrieben, einfach einrichten kann.
Wer etwas flexibler sein möchte kann der Anleitung von tech-recipes folgen. Dort lernt man wie man die entsprechenden Systemtools selbstständig in seiner AVD installiert.
Und wer sogar ein Custom ROM als Basis für seine Emulator Umgebung haben möchte findet bei Anything simple eine hervoragende Anleitung.




7 Kommentare zu “Android Emulator mit Market”

  1. 1
    Rene Grothmann sagt:

    Hab ich ausprobiert. Aber leider will er immer, dass ich den Slider aufmache. Gibt’s dafür nen Tastencode? Und wie „hinterlegt“ man einen Google Account?

  2. 2
    Jens sagt:

    Mit STRG+F11 wechselt man vom Portrait in den Landschaftsmodus öffent somit praktisch die Tastatur

  3. 3
    Webzugriff auf den Android Market | Motorola Milestone | Android sagt:

    […]Android Emulator mit Market […]

  4. 4
    tobes sagt:

    … mein google-Konto scheint sich aber nicht wirklich mit dem „Telefon“ zu verbinden, d.h. im Market sehe ich noch immer die Meldung (wenn über PC, nicht Emulator eingeloggt) „Mit Ihrem Google Account sind derzeit keine Mobiltelefone verknüpft“.
    Plus … 1.6 ist schon sehr alt, gibts Möglichkeiten mit einer neueren Version?
    Gruß
    Tobes

  5. 5
    Jens sagt:

    Für eine Verknüpfung als Telefon mit einem Google Konto benötigt man ein richtiges Android Phone. Es gibt mittlererweile eine Möglichkeit den Android Market mit 2.1 zu bedienen. EInen Anleitung werde ich die Tage veröffentlichen.

  6. 6
    TheCranky sagt:

    Hallo…

    ich hab auch schon viele anleitungen probiert, market auf höheren adroids sdks als 1.6 zu starten, aber ohne erfolg…

    wann kommt deine anleitung für 2.1 (oder vllt höher) oder habe ich sie einfach übersehen?

    gruss Cranky

  7. 7
    Jens sagt:

    Danke dass du mich darauf nochmal hinweist, ich werde den Artikel diese WOchenende veröffentlichen

Hinterlasse ein Kommentar