Der Android SDK-Emulator friert auf einem Mac mit OS X 10.6 Snow Leopard ein

5

Ich habe Probleme, das Android SDK auf beiden Macs mit OS X 10.6.2 Snow Leopard auszuführen. Dies scheint ein 64-Bit- oder ein 32-Bit-Problem zu sein, da Snow Leopard jetzt standardmäßig 64-Bit verwendet, einschließlich der Java Virtual Machine.

Ich fand diese Webseite mit Anweisungen, wie die Android-Tools in der 32-Bit-Java-VM ausgeführt werden können, und kann jetzt das Android-GUI-Tool zum Herunterladen von SDK-Dateien, Erstellen von AVMs usw. ausführen Hallo Welt Tutorial und komme zu dem Punkt, an dem ich meine Anwendung unter dem Android-Emulator laufen lasse, alles geht nach Süden.

Der Emulator scheint zu starten, hängt aber (dreht den Beachball of Death-Cursor), ohne dass etwas angezeigt wird. (Dies hängt nur den Emulator; der Rest des Systems funktioniert weiterhin einwandfrei.) Wenn ich in einer virtuellen Windows-Maschine genau dieselben Schritte (abzüglich des 32-Bit-Java-Hack) befolge, funktioniert alles einwandfrei.

Dies tritt sowohl auf meinem Mac Pro Tower als auch auf meinem 13 "MacBook Pro auf. Hat jemand Vorschläge?

Donald Burr
quelle

Antworten:

4

Ich habe neulich herumgegraben und gesehen, dass diese Nachricht auf dem Terminal erscheint: Emulator: Warnung: Öffnen der Audioeingabe fehlgeschlagen Ich habe diese Nachricht schon oft gesehen und ich hatte immer angenommen, dass es daran liegt, dass der Emulator keinen Sound unterstützt oder sowas in der Art. Aber ich habe mich entschlossen, an diesem einen Tag ein Experiment durchzuführen. Es stellte sich heraus, dass der Emulator eine "-noaudio" -Befehlszeilenoption hat, und als ich es damit ausgeführt habe, hat es funktioniert !! Jetzt starte ich den Emulator immer mit der Option -noaudio, ohne einzufrieren. Auch keine Soundunterstützung, aber ich kann den Emulator jetzt zumindest ausführen.

Das funktioniert nun, wenn ich den Emulator manuell von der Kommandozeile aus aufrufe. Was ist, wenn das Eclipse ADT-Plugin es aufruft? Nun, ich fühlte mich zu diesem Zeitpunkt ziemlich faul und wollte nicht im ADT-Plugin herumwühlen, um zu sehen, ob es die Option "Diese Befehlszeilenflags beim Ausführen des Emulators hinzufügen" hatte, also habe ich ein kleines "Wrapper" -Shell-Skript erstellt für den Emulator-Befehl, der immer die Option -noaudio hinzufügt. Es ist ein bisschen kludge, aber es funktioniert. So geht's: (Hinweis: $ stellt die Shell-Eingabeaufforderung dar, nicht selbst eingeben)

$ cd <WHERE YOU INSTALLED THE ANDROID SDK>/tools
$ mv emulator emulator.real
$ cat > emulator << EOF
#!/bin/sh
exec <WHERE YOU INSTALLED THE ANDROID SDK>/tools/emulator.real -noaudio $*
EOF
Donald Burr
quelle
2

Alle oben genannten Tipps funktionieren sicher. Die Lösung für das Problem des Einfrierens besteht darin, -noaudiobeim Starten des Emulators nur das Optionsflag zu übergeben.

Um den Start des Emulators weiter zu beschleunigen, können Sie zwei weitere Flags / Optionen hinzufügen -cpu-delayund -no-boot-animfolgendermaßen vorgehen:

$ emulator -cpu-delay 0 -no-boot-anim -no-audio -avd <avd name>

wo -no-audioeigentlich das einfrieren problem behebt. -no-boot-animDeaktiviert die Startanimation und <avd name>sollte durch den Namen des AVD-Images ersetzt werden, das Sie ausführen möchten

Babatunde Adeyemi
quelle
1

Ich hatte das gleiche Problem und es wurde durch einfaches Abziehen meines USB-Headsets behoben, das zum Zeitpunkt der Ausführung des Emulators angeschlossen war


quelle
Ich hatte dieses Problem mit einem Bluetooth-Stereo-Headset. Das Trennen hat das Problem behoben.
Sam
1

Die Antwort, die Donald Burr am 31. Dezember 09 um 19:57 Uhr gab, gilt auch für das aktuelle SDK und die aktuelle Toolkette.

Sie benötigen das Wrapper-Skript jedoch nicht, wenn Sie Eclipse verwenden. Sie können die Befehlszeilenoption -noaudio einfach in der spezifischen Ausführungskonfiguration Ihrer Anwendung übergeben (auf der Registerkarte "Ziel" im Feld "Zusätzliche Emulator-Befehlszeilenoptionen").

Ich habe vergessen hinzuzufügen: Ich benutze ein MacBook und habe ein 24-Zoll-LED-Cinema-Display angeschlossen, das auch über USB angeschlossen ist und Sound-Lautsprecher bietet. Ich denke also, der erwähnte USB-Soundgeräte-Fehler ist immer noch irgendwo im gesamten Android SDK-Paket enthalten.

Daniel
quelle
1

Ich hatte das gleiche Problem unter OS X 10.8.4 auf einem MacBook Air. Ich habe schließlich herausgefunden, dass das Problem nur beim Neustart von AVD ausgelöst wurde. Meine Problemumgehung besteht derzeit darin, bei jedem Neustart des Emulators eine neue AVD zu definieren.

Susan
quelle
0

Ich laufe 10.6.2, Android 2.0.1, Eclipse 3.5 ohne Probleme, also muss etwas an Ihrem Ende sein. ich würde zu den standardeinstellungen von os x zurückkehren und das sdk neu installieren. Versuchen Sie dann, den Emulator nur über die Befehlszeile auszuführen, und prüfen Sie, ob dies funktioniert.

mac:~ > java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)

mac:~ > uname -a
Darwin veritas 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386
Yanokwa
quelle
Danke für den Tipp. Ich habe neulich herumgebuddelt und gesehen, dass diese Nachricht auf dem Terminal erscheint: Emulator: Warnung: Öffnen der Audioeingabe fehlgeschlagen Ich habe diese Nachricht schon oft gesehen und ich hatte immer angenommen, dass es daran liegt, dass der Emulator keinen Sound unterstützt oder sowas in der Art. Aber ich habe mich entschlossen, an diesem einen Tag ein Experiment durchzuführen. Es stellte sich heraus, dass der Emulator eine "-noaudio" -Befehlszeilenoption hat, und als ich es damit ausgeführt habe, hat es funktioniert !! Jetzt starte ich den Emulator immer mit der Option -noaudio, ohne einzufrieren. Auch keine Soundunterstützung, aber ich kann den Emulator jetzt zumindest ausführen.
Donald Burr