Je n'ai pas de téléphone Android pour le moment. Mais dans mon application, je dois utiliser les valeurs de l'accéléromètre. Comment puis-je faire cela dans un environnement simulé?
L'émulateur Android ne le prend pas en charge mais OpenIntents ' SensorSimulator remplit le vide. Téléchargez et décompressez le fichier Zip, puis démarrez le fichier jar autonome:
$ Java -jar bin/sensorsimulator.jar
Ensuite, installez SensorSimulatorSettings sur l'émulateur à l'aide de l'outil adb fourni avec le SDK:
$ adb -s <emulator device> install bin/SensorSimulatorSettings.apk
(exécutez périphériques adb} pour trouver le nom du périphérique de l'émulateur). Enfin, exécutez l'application SensorSimulatorSettings installée dans l'émulateur et entrez l'adresse IP 10.0.2.2 (malgré les suggestions de l'application SensorSimulator. Il s'agit d'un alias du périphérique de bouclage de l'hôte de développement qui doit donc toujours être valide.
La version récente de l'émulateur est activée avec l'accéléromètre et d'autres simulations de capteurs. On peut telnet localhost 5554
:
Essayer 127.0.0.1 ...
Connecté à localhost.
Le caractère d'échappement est '^]'.
Console Android: tapez 'help' pour obtenir une liste de commandes
D'accordcapteur
vous permet de demander les capteurs d'émulateursous-commandes disponibles:
liste d'état tous les capteurs et leur statut.
obtenir les valeurs du capteur
définir les valeurs du capteurKO: sous-commande manquante
état du capteur
accélération: activé.
champ magnétique: activé.
orientation: activé.
température: activé.
proximité: activé.
D'accord
Comment simuler exactement un shake, je ne sais pas. Essayez d’envoyer rapidement ces deux commandes l’une après l’autre:
sensor set acceleration 0:0:0
sensor set acceleration 99:99:99
J'essayais également de faire fonctionner le SensorSimulator et je pense que je l'ai enfin fait fonctionner.
Les étapes ci-dessus: "... Java -jar bin/sensorsimulator.jar
Ensuite, installez SensorSimulatorSettings sur l’émulateur à l’aide de l’outil adb fourni avec le SDK: $ Adb -s install bin/SensorSimulatorSettings.apk.
... Enfin, exécutez l'application SensorSimulatorSettings installée dans l'émulateur et entrez l'adresse IP 10.0.2.2 ... "
sont un bon début, mais je devais faire plus.
Vous devez apparemment modifier votre application pour pouvoir utiliser SensorSimulator. Vous pouvez aller à http://code.google.com/p/openintents/wiki/SensorSimulator et faire défiler jusqu'à la section "Comment utiliser SensorSimulator dans votre application".
Même alors, j'ai eu quelques erreurs lors de la compilation. Vous voudrez peut-être voir cette page: Composant Vintage Thermometer + SensorSimulator sur l'émulateur Android - J'ai dû supprimer les références à Android.hardware.Sensor, SensorEvent et SensorEventListener.
Et ensuite, l'appel à connectSimulator a échoué. Apparemment, je devais donner à mon application la permission d'utiliser Internet dans le fichier manifeste.
Après tout cela, je peux utiliser le SensorSimulator pour faire pivoter virtuellement mon téléphone et obtenir les lectures de capteur correspondantes dans mon application.
J'ai constaté que l'émulateur pour la cible 10 ne prend pas en charge l'accéléromètre, mais pour la cible 15, il le fait. Je ne sais pas s’il existe un moyen de le faire pour la cible 10 . Donc, pour tester votre application, créez votre projet et votre disque AVD pour la cible 15.
Je vous suggère d'utiliser l'application Genymotion, qui intègre un outil complet pour le test d'accéléromètre et utilise un émulateur plus rapide: Genymotion