ARM-Emulator für Android x86 4 RC2 installieren

[English version]Nachdem in Teil 2 die Installation von Android x86 auf einem Eee PC 701 G (oder anderen Netbooks) und in Teil 3 die Anpassung des Tastaturlayouts beschrieben wurde, geht es nun weiter. Es soll ein ARM-Emulator nachgerüstet werden, so das Apps wie Angry Birds ausgeführt werden können.


Anzeige

Hintergrundinformationen

In diesem Beitrag beschreibt der Betreiber von builddroid.org, wie man einen ARM-Emulator in Android-x86 nachrüsten kann. Ein solcher Emulator ist von Intel entwickelt worden und wird mit Medfield Smartphones in Android-x86 ausgeliefert. Daniel Fages hat ein solches Medfield Smartphone-Image in die Finger bekommen, den Emulator herausgelöst und in einem trickreichen Ansatz in seine Android-x86-Implementierung eingefügt.

Dieser Ansatz war mir zum Testen aber bisher zu aufwändig, da man den Android-Kernel neu übersetzen musste. Der RC2 von Android-x86 4.0 enthält nun aber die erforderlichen Anpassungen, um einen ARM-Emulator nutzen zu können. Allerdings fehlen (aus Lizenzgründen) die benötigten Bibliotheksdateien.

Mit diesem Wissen habe ich die hier und hier gegebenen Infos verwendet, um die benötigten libhoudini-Bibliotheken nachzuinstallieren. Die größte Schwierigkeit war, nicht erforderliche Schritte rauszuwerfen und etwas zwischen den Zeilen zu lesen. Das Know How, um auf die Systemverzeichnisse als root zuzugreifen, haben wir uns ja bereits in Teil 3 erarbeitet.

Die benötigten Bibliotheken beschaffen

Im ersten Schritt benötigen wir die benötigten Bibliotheken. Dies kann unter Windows durchgeführt werden.


Anzeige

  • Laden Sie sich die Bibliothek libhoudini.so herunter.
  • Anschließend laden Sie die Bibliothek libdvm_houdini.so herunter.
  • Im dritten Schritt ist das Archiv arm libs herunterzuladen und dann in einen Ordner arm zu entpacken.

Zum Entpacken der arm libs kann ein Tools wie 7-Zip verwendet werden. Wichtig ist, im ersten Schritt die .tgz-Archivdatei zu entpacken und im zweiten Durchlauf die .tar-Datei nochmals zu entpacken. Erst dann liegen im Unterordner arm die benötigten Einzeldateien vor. Der Ordner arm ist hilfreich, um diese Bibliotheksdateien von den beiden anderen Bibliotheken zu trennen.

Kopieren Sie die heruntergeladenen Dateien libhoudini.so, libdvm_houdini.so und den Ordner arm mit dem entpackten Archiv arm libs auf eine SD-Karte oder einen USB-Stick. Diesen Datenträger brauchen wir am Android-Gerät.

ARM-Emulator installieren

Nun gilt es wieder den beim Ändern des Tastaturlayouts verwendeten Hattrick aus dem letzten Artikel anzuwenden, um auf die Systemverzeichnisse zuzugreifen.

Booten Sie den Eee PC mittels des Ubuntu USB-Sticks als Live-System (das BIOS-Bootmenü öffen Sie über die ESC-Taste). Auf dem Ubuntu-Desktop klicken Sie in der Launcher-Leiste am linken Rand auf den Eintrag Persönlicher Ordner.

Dann mounten Sie den unter Geräte (oder Devices) aufgeführten Datenträger (2. USB-Stick oder SD-Karte) mit den kopierten Bibliotheksdateien. Verwenden Sie in der linken oberen Ecke des Nautilus-Fensters die Schaltfläche, um das Fenster in der Größe zu reduzieren.

Anschließend kopieren Sie die oben aufgeführten zwei .so-Bibliotheksdateien sowie den Ordner arm auf den Ubuntu-Desktop. Danach kann das Fenster des Nautilus geschlossen werden.

Um auf die Systemdateien mit root-Rechten zuzugreifen, wählen Sie in der linken Leiste des Dashboards die oberste Schaltfläche Dash-Startseite anklicken und tippen im Suchfeld "terminal" ein. Danach starten Sie das Terminal durch einen Doppelklick.

Im geöffneten Terminalfenster geben Sie die Befehle:

sudo su
nautilus

ein und schließen diese jeweils mittels der Eingabetaste ab.

Das Dialogfeld mit der Fehlermeldung, dass Nautilus im Ordner /root/ keine .config-Datei anlegen kann, schließen Sie über die OK-Schaltfläche.

Verkleinern Sie nun das Fenster des Nautilus-Dateimanagers so, dass der Desktop mit den kopierten Bibliotheksdateien zu sehen ist. Anschließend navigieren Sie zum Gerät "Android-x86" und öffnen im rechten Teil des Nautilus-Fensters den Ordner android-4.0.RC2. Anschließend navigieren Sie zum Unterverzeichnis system –> lib. Jetzt gilt es, die auf den Desktop kopierten Bibliotheksdateien gemäß [5, 6] in das Verzeichnis lib sowie das Unterverzeichnis arm zu verschieben.

  • Verschieben Sie die Datei libhoudini.so in  /system/lib/
  • Verschieben Sie dann die Datei libdvm_houdini.so in /system/lib/
  • Legen Sie das Verzeichnis  /system/lib/arm/ an
  • Anschließend verschieben Sie die entpackten Dateien der arm-Bibliotheken aus dem Verzeichnis arm in das Unterverzeichnis arm

Jetzt können Sie Ubuntu herunterfahren. Wenn Sie den Eee PC danach erneut mit Android starten, sollte der ARM-Emulator funktionsfähig sein. Ein erster Test besteht darin, den Google Play Store aufzusuchen und dann nach der App Angry Bird zu suchen. Wird diese angezeigt, hat Android zumindest die libhoudini.so erkannt. Falls die App nach der Installation nicht starten will, ist irgend etwas mit der Einbindung der ARM-Bibliotheken schief gegangen. In meinem ersten Versuch hatte ich die .tgz-Archivdatei in das Unterverzeichnis arm kopiert. Damit konnte Android aber nichts anfangen. Also habe ich alles im Ubuntu Nautilus-Dateimanager entpackt und im Verzeichnis arm platziert.

Artikelreihe

i: Android x86: Angry Birds auf dem Eee PC 701G – Teil 1
ii: Android x86 4 RC2 auf dem Eee PC 701G installieren – Teil 2
iii: Tastaturanpassung für Android x86 4 RC2 – Teil 3
iv: ARM-Emulator für Android x86 4 RC2 installieren– Teil 4

Ähnliche Artikel:
a: Android-x86 ICS RC1 freigegeben
b: Android x86 ICS RC1 für Eee PC 701 und Netbooks
c: Android-x86 4.0 RC2 freigegeben
d: WeTab Tablet mit Android Ice Cream Sandwich I
e: Android x86 auf einer SD-Karte installieren
f: Testdrive: Android x86 3.2 RC2 auf Eee PC und Akoya Mini 1210

j: Android-Netbook im Eigenbau (Teil 1)
k: Android Live-System booten und installieren (Teil 2)
l: Tipps zum Eigenbau Android 2.2 (Teil 3)
m: Know How: Android WiFi-Debugging

Links:
1: Android-x86.org Projektseite
2: Android x 86 4RC2 Release Notes
3: Download-Seite
4: Dateien mit root-Rechten in Nautilus bearbeiten
5: ARM-Emulator zu Android-x86 hinzufügen
6: BuildDroid ARM zu Android-x86 hinzufügen (neuer Link)


Anzeige

Dieser Beitrag wurde unter Android abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu ARM-Emulator für Android x86 4 RC2 installieren

  1. Hans sagt:

    Ähnlich, wie die Vereinfachung, die Volker im vorigen Artikel beschrieben hat, kann man sich auch hier das Booten von einem Linux-Livesystem sparen, wenn man die Linux-Kommandozeile von Android benutzt. Außerdem werden wir in der folgenden Anleitung auch die Dateirechte korrekt setzen, was sowieso sinnvoll ist, um eine Sicherheitslücke zu vermeiden.

    * Mit Alt-F1 in die Konsole wechseln.
    * Die folgenden Befehle eingeben (ohne das #, das nur den Eingabeprompt markiert):
    # cd /System/lib
    # wget http://www.buildroid.org/Download/libhoudini.so
    # chmod 644 libhoudini.so
    # wget http://www.buildroid.org/Download/libdvm_houdini.so
    # chmod 644 libdvm_houdini.so
    # mkdir arm
    # chmod 755 arm
    # cd arm
    # wget http://www.buildroid.org/Download/houdini_armlibs.tgz
    # gunzip houdini_armlibs.tgz
    # tar xzf houdini_armlibs.tar
    # rm houdini_armlibs.tgz
    * Mit Alt-F7 wieder in den normalen, grafischen Teil von Android wechseln.

    Dabei ist noch zu beachten: Eine etwaige deutsche Tastatureinstellung ist in der Konsole unwirksam. Den Schrägstrich / findet man auf einer deutschen Tastatur unter dem Bindestrich -, den Doppelpunkt : unter dem großen Ö, den Unterstrich _ unter dem Fragezeichen ?. Außerdem sind y und z vertauscht.

  2. Hans sagt:

    Ähnlich, wie die Vereinfachung, die Volker im vorigen Artikel beschrieben hat, kann man sich auch hier das Booten von einem Linux-Livesystem sparen, wenn man die Linux-Kommandozeile von Android benutzt. Außerdem werden wir in der folgenden Anleitung auch die Dateirechte korrekt setzen, was sowieso sinnvoll ist, um eine Sicherheitslücke zu vermeiden.

    * Mit Alt-F1 in die Konsole wechseln.
    * Die folgenden Befehle eingeben (ohne das #, das nur den Eingabeprompt markiert):
    # cd /System/lib
    # wget …/libhoudini.so
    # chmod 644 libhoudini.so
    # wget …/libdvm_houdini.so
    # chmod 644 libdvm_houdini.so
    # mkdir arm
    # chmod 755 arm
    # cd arm
    # wget …/houdini_armlibs.tgz
    # gunzip houdini_armlibs.tgz
    # tar xzf houdini_armlibs.tar
    # rm houdini_armlibs.tgz
    * Mit Alt-F7 wieder in den normalen, grafischen Teil von Android wechseln.

    Dabei ist noch zu beachten: Eine etwaige deutsche Tastatureinstellung ist in der Konsole unwirksam. Den Schrägstrich / findet man auf einer deutschen Tastatur unter dem Bindestrich -, den Doppelpunkt : unter dem großen Ö, den Unterstrich _ unter dem Fragezeichen ?. Außerdem sind y und z vertauscht.

    In den Zeilen mit "wget …" sind jeweils die drei Punkte durch die korrekte URL zu ersetzen (http Doppelpunkt //www.buildroid.org/Download/). Anscheinend lässt der Spamschutz hier keine URLs zu.

  3. Hans sagt:

    Ich habe bis auf die oben beschriebenen Abkürzungen auf meinem EeePC 701 alles wie in diesen hervorragenden Artikeln beschrieben gemacht. Beim Testen hat dann allerdings Angry Birds NICHT funktioniert. Ebenso haben auch Angry Birds Space und etliche andere Spiele nach der Installation nicht funktioniert, wohl aber Angry Birds Rio und viele andere Spiele.

    Aus vagen Hinweisen im Internet schließe ich, dass sich bei Angry Birds evt. in der letzten Zeit etwas geändert hat, so dass meine Installation vielleicht doch so erfolgreich war, wie man das erwarten kann. Ich vermute, dass die ARM-Emulation bei mir grundsätzlich funktioniert, weiß aber nicht, mit welchen Anwendungen ich das sinnvoll testen kann.

    • Günter Born sagt:

      @Hans: Mir fehlt momentan (Windows 8 bedingt) etwas die Zeit, auf das Thema einzugehen. Eigentlich steht hier auch noch ein tieferer Blick in das Intel x86 Jelly Bean Image für den x86-Emulator des SDK auf der Agenda (es gibt die Hoffnung, dass man das ggf. für Virtualbox portieren kann).

      Zurück zum Thema: Die Emulation unterstützt meines Wissens nur einen bestimmten Befehlssatz (ARMv7?) – sobald eine App andere Voraussetzungen mit bringt, wird es schwierig. Daher läuft auch kein Google Chrome-Browser auf der Maschine. Könnte die Ursache für das von dir beobachtete Verhalten sein – aber ich mag mich täuschen.

  4. Rüdiger sagt:

    Ich habe eben gesehen das aus buildroid nun AndroVM wurde, da der Name durch Lucasfilm geschützt ist ( http://androvm.org/blog/ ).
    Ich werde mich damit mal beschäftigen.

    • Günter Born sagt:

      @Rüdiger: Danke für den Hinweis, das Lucas-Film-Thema war mir bekannt – ich hatte nur den Link unter [6] und die Download-Links im Artikel nicht umgesetzt.

      Leider scheint die Domain nun auch gestorben zu sein und der Autor hat seine Links intern nicht umgebogen.

      Ich haben mal den Autor kontaktiere und gebeten, dass er die Download-Adressen anpasst. Sobald mir etwas funktionierendes unter die Augen kommt oder alternative Fundstellen bekannt sind, werde ich die Links für die Libs nachtragen. Der Blog-Beitrag unter [6] findet sich nun hier:

      http://androvm.org/blog/ex-buildroid/2012/06/18/using-arm-emulation-on-other-android-x86-distributions/

      Lädt man sich die OVA-Dateien für die neuen Android-x86-Builds von der Website des Autors herunter und führt diese in einer Virtualbox VM aus, sollten sich die fehlenden Bibliotheken auch extrahieren lassen.

      Möglicherweise gibt es in ein paar Wochen auch ganz andere Möglichkeiten. Wie ich diese Woche gesehen habe, sind beim Android-x86.org-Projekt einige Leute mit der offiziellen Portierung von Android x86 4.2 (Jelly Bean) gestartet. Ich denke, da wird die ARM-Emulation vermutlich mit integriert werden.

  5. Thomas Fleig sagt:

    Hallo Herr Born,
    super Anleitung – hat mir sehr geholfen meinen alten eeePC-701-4G auf Android umzustellen.
    Mir fehlt nun nur noch die ARM-Emulation – der obige Download-Link für die Dateien "libhoudini.so", "libdvm_houdini.so" und "arm libs" führen ins Leere.
    Auch die Download-Links auf div.anderen WebSite führten ins Nichts.
    Wo kann dich diese Dateien bekommen – vielleicht ist die Übersendung per eMail möglich.
    Danke und Gruß
    Thomas Fleig

    • Günter Born sagt:

      @Tom: Lasse mir etwas Zeit – ich schaue es mir mal an – hoffe, dass ich die Libs noch auf der Platte rum fliegen habe. In neueren Builds sind die m.W. ja schon drin.

      OK, ich habe mal ein wenig recherchiert. Die Libs sind aus dem Internet verschwunden, weil Intel und Google da die Daumen drauf halten. Hier gibt es einen entsprechenden Tread. Eine weitere Diskussion findet sich hier. In meinen Augen recht "unschön" – ob es juristische Gründe gibt, warum Intel das nicht raus geben kann, weiß ich nicht.

      Ich kann daher die betreffenden Libs auch nicht zum Download anbieten. Unter dem Strich ist für mich das Projekt Android-x86 (und eigentlich auch Android) ein Stück weit gestorben. Mein Interesse für dieses Thema basiert darauf, dass es Open Source ist. Wenn Intel und Google das jetzt zunageln, werde ich mich wohl eher den Mobilbetriebssystemen von Ubuntu und Firefox zuwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.