Der Android SDK-Emulator wird auf einem Mac mit OS X 10.6 Snow Leopard angehalten

9052
Donald Burr

Ich habe Probleme mit dem Android SDK auf meinen Macs, auf denen OS X 10.6.2 Snow Leopard ausgeführt wird. Dies scheint ein 64-Bit- oder ein 32-Bit-Problem zu sein, da Snow Leopard jetzt standardmäßig auf 64-Bit-Werte einschließlich der virtuellen Java-Maschine gesetzt ist.

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

Der Emulator scheint zu starten, aber er hängt (rotierender Beachball des Todescursors), ohne etwas anzuzeigen. (Dies hängt nur den Emulator ab; der Rest des Systems funktioniert immer noch einwandfrei.) Wenn ich in einer virtuellen Windows-Maschine genau dieselben Schritte befolge (mit Ausnahme des 32-Bit-Java-Hack), funktioniert alles einwandfrei.

Dies tritt sowohl bei meinem Mac Pro Tower als auch beim 13 "MacBook Pro auf. Hat jemand Anregungen?

5

6 Antworten auf die Frage

4
Donald Burr

Ich habe neulich herumgegraben und sah diese Nachricht auf dem Terminal erscheinen: Emulator: Warnung: Das Öffnen des Audioeingangs ist fehlgeschlagen. Ich habe diese Nachricht schon oft gesehen und ich war immer davon ausgegangen, dass der Emulator keinen Ton oder sowas in der Art. Aber ich entschied mich an einem bestimmten Tag für ein Experiment. Es stellt sich heraus, dass der Emulator eine Befehlszeilenoption "-noaudio" hat, und als ich ihn damit ausgeführt habe, hat er funktioniert !! Also jetzt laufe ich Emulator immer mit der -noaudio-Option, kein Einfrieren. Keine Soundunterstützung, aber zumindest kann ich den Emulator jetzt ausführen.

Das funktioniert jetzt, wenn ich den Emulator manuell von der Befehlszeile aus anrufe. 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 herumgraben, um zu sehen, ob es die Option "Diese Befehlszeilen-Flags beim Ausführen des Emulators hinzufügen" hatte, also habe ich ein kleines "Wrapper" -Shellskript erstellt für den Emulatorbefehl, der immer die Option -noaudio hinzufügt. Es ist ein bisschen kludge, aber es funktioniert. So geht's: (Hinweis: $ steht für die Shell-Eingabeaufforderung, geben Sie sie nicht selbst ein)

$ 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 
2
Babatunde Adeyemi

Alle oben genannten Tipps funktionieren sicher. Die Lösung des Einfrierproblems besteht darin, -noaudiobeim Starten des Emulators einfach 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-animwie folgt:

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

wo -no-audiobehebt eigentlich das Einfrierproblem. -no-boot-animDeaktiviert die Boot-Animation und <avd name>sollte durch den Namen des avd-Images ersetzt werden, das Sie ausführen möchten

1

Ich hatte das gleiche Problem und es wurde behoben, indem einfach mein USB-Headset, das zum Zeitpunkt der Ausführung des Emulators angeschlossen war, entfernt wurde

Ich hatte dieses Problem mit einem Bluetooth-Stereo-Headset. Durch das Trennen wurde das Problem behoben. Sam vor 12 Jahren 0
1
daniel

The answer Donald Burr gave on Dec 31 '09 at 19:57 still applies even with the current SDK and tool-chain.

But you don't need the wrapper script if you use Eclipse. You can just pass the -noaudio commandline option within the specific run configuration of your application (on the "Target" tab in the "additional emulator command line options" field).

Forgot to add: I use a MacBook and have a 24-inch LED Cinema display attached, which is connected also by USB and provides sound speakers. So I guess the mentioned USB sound device bug is still somewhere inside the whole Android SDK package.

1
Susan

Ich hatte das gleiche Problem unter OS X 10.8.4 auf einem MacBook Air. Ich fand schließlich heraus, dass das Problem nur beim AVD-Relaunch ausgelöst wurde. Um dieses Problem zu beheben, muss ich bei jedem Neustart des Emulators eine neue AVD definieren.

0
yanokwa

Ich laufe 10.6.2, Android 2.0.1, Eclipse 3.5 ohne Probleme, also muss etwas auf Ihrer Seite sein. Ich würde zu den Standardeinstellungen von OS X zurückkehren und das SDK neu installieren. Versuchen Sie dann, den Emulator von der Befehlszeile aus auszuführen und zu sehen, ob das 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 
Danke für den Tipp. Ich habe neulich herumgegraben und sah diese Nachricht auf dem Terminal erscheinen: Emulator: Warnung: Das Öffnen des Audioeingangs ist fehlgeschlagen. Ich habe diese Nachricht schon oft gesehen und ich war immer davon ausgegangen, dass der Emulator keinen Ton oder sowas in der Art. Aber ich entschied mich an einem bestimmten Tag für ein Experiment. Es stellt sich heraus, dass der Emulator eine Befehlszeilenoption "-noaudio" hat, und als ich ihn damit ausgeführt habe, hat er funktioniert !! Also jetzt laufe ich Emulator immer mit der -noaudio-Option, kein Einfrieren. Keine Soundunterstützung, aber zumindest kann ich den Emulator jetzt ausführen. Donald Burr vor 14 Jahren 0