2010-10-13 18 views

Antwort

38

Der Android-Emulator unterstützt es nicht selbst, aber OpenIntents 'SensorSimulator füllt die Lücke. Downloaden und die Zip-Datei entpacken und starten Sie dann die Standalone-JAR-Datei:

$ java -jar bin/sensorsimulator.jar 

Als nächstes installieren SensorSimulatorSettings auf dem Emulator das adb-Tool, das mit dem SDK kommt:

$ adb -s <emulator device> install bin/SensorSimulatorSettings.apk 

(laufen adb devices, um den Emulator-Gerätenamen zu finden). Schließlich den installierte SensorSimulatorSettings App im Emulator läuft und geben Sie die IP-Adresse 10.0.2.2 (trotz allem, was die SensorSimulator Anwendung könnte darauf hindeuten. Dies ist ein Alias ​​für den Loopback-Device der Host-Entwicklung so immer gültig sein sollte.

+2

ich alles tat, Und wenn ich versuche, den Beschleunigungssensor meines Simulators mit SensorSimulator zu steuern, passiert nichts. –

+0

Link ist tot ... –

+0

funktionierender Link zum Herunterladen der ZIP-Datei [hier] (https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openintents/sensorsimulator-2.0 -rc1.zip), aber weil es seit dem letzten Commit Jahre her ist, würde ich nicht empfehlen, dies – juhlila

1

Ich habe erlebt, dass Emulator für Ziel 10 keinen Beschleunigungssensor unterstützt, aber für Ziel 15 tut das. Ich weiß nicht, ob es eine Möglichkeit gibt, dies für Ziel 10 zu tun. Also zum Testen Ihrer Anwendung, Erstellen Sie Ihr Projekt und AVD für Ziel 15 .

5

ich den SensorSimulator zu bekommen versuche, arbeitet auch und ich glaube, ich es funktioniert endlich.

Die oben genannten Schritte: “... java -jar ist/sensorsimulator.jar

Als nächstes SensorSimulatorSettings auf dem Emulator das adb-Tool, das mit dem SDK kommt installieren: $ adb es installieren ist/SensorSimulatorSettings. apk

... Schließlich laufen die installierte SensorSimulatorSettings App im Emulator und geben Sie die IP-Adresse 10.0.2.2 ...“

sind ein guter Anfang, aber ich brauchte mehr zu tun.

Sie müssen dann Ihre Anwendung ändern, um den SensorSimulator zu verwenden. Sie können zu http://code.google.com/p/openintents/wiki/SensorSimulator gehen und zum Abschnitt "So verwenden Sie den SensorSimulator in Ihrer Anwendung" scrollen.

Auch dann habe ich ein paar Fehler beim Kompilieren, so dass Sie diese Seite sehen möchten: Vintage Thermometer component + SensorSimulator on the Android emulator - Ich musste die Verweise auf android.hardware.Sensor, SensorEvent und SensorEventListener entfernen.

Und dann war es bei dem Aufruf von connectSimulator fehlgeschlagen. Offensichtlich musste ich meiner Anwendung erlauben, das Internet in der Manifest-Datei zu verwenden.

Nach all dem kann ich den SensorSimulator verwenden, um mein Handy virtuell zu drehen, und ich bekomme die entsprechenden Sensorwerte in meiner Anwendung.

15

Die neueste Version des Emulators wird mit Accelerometer und anderer Sensor-Simulation unterstützt. Man kann telnet localhost 5554:

Versuch 127.0.0.1 ...
Connected auf localhost.
Escape-Zeichen ist '^]'.
Android Console: Typ 'Hilfe' für eine Liste von Befehlen
OK

Sensor
können Sie die Emulator-Sensoren

verfügbaren Unterbefehle beantragen:
Statusliste alle Sensoren und deren Status. erhalten
Sensor erhalten Werte
Satz Satz Sensorwerte

KO: fehlende Unter Befehl

Sensorstatus
Beschleunigung: aktiviert.
Magnetfeld: aktiviert.
Ausrichtung: aktiviert.
Temperatur: aktiviert.
Nähe: aktiviert.
OK

Wie genau einen Shake zu simulieren, weiß ich nicht. Versuchen Sie das Senden Sie diese beiden Befehle nacheinander schnell:

sensor set acceleration 0:0:0 
sensor set acceleration 99:99:99 
+0

kann "adb shell dumpsys sensorservice <>" für die Simulation verwenden? – ransh

0

Ich schlage vor, Sie Genymotion-Anwendung zu verwenden, integrieren sie ein komplettes Werkzeug für den Test der Beschleunigungssensor und verwenden einen schnelleren Emulator: Genymotion

Verwandte Themen