web-dev-qa-db-fra.com

La simulation de localisation de l'émulateur ne fonctionne pas

Je souhaite abaisser le niveau API minimal de mon application à 4,4 (KitKat) à partir de 5,0 (Lollipop)

Malheureusement, je ne pouvais obtenir aucun périphérique réel , donc je dois travailler avec un émulateur.

Mon application est fortement basée sur l'emplacement de l'utilisateur , de sorte que le test principal doit cibler la fonction de changement d'emplacement .

J'essaie d'utiliser la simulation d'emplacement avec l'émulateur officiel de Google Android. (X86) (x86)

J'ai fait un émulateur 4.4 et fonctionne bien , mon application fonctionne bien mais lorsque j'essaie d'envoyer des emplacements via le panneau de commande étendu, rien ne se passe.

Si je charge un fichier GPX , les emplacements apparaissent sur le tableau du panneau de commande étendu à l'intérieur de la lecture des données GPS, mais l'appareil ne dispose d'aucun emplacement.

enter image description here

Je remplis la latitude et la longitude en cliquant sur "ENVOYER" mais rien ne se passe.

J'ai également essayé de simuler le changement d'emplacement de l'onglet "Contrôle de l'émulateur" d'Android Device Monitor .

Le bouton "Envoyer" n'est pas cliquable , les champs long et lat sont désactivés et je ne peux rien remplir. Les onglets "GPX" et "KML" sont également désactivés.

enter image description here

J'ai également essayé d'utiliser le plug-in Gps Emulator comme suit:

enter image description here

La barre de progression augmente, , donc pas comme les 2 premières méthodes que j'ai essayées, c'est enfin comme si on faisait quelque chose mais l’émulateur n’obtient toujours pas les changements d’emplacement. Pas du tout.

J'ai essayé une quatrième méthode via la ligne de commande:

telnet localhost 5554

Mais j'ai Connection refused Message d'erreur.

Je ne peux donc pas essayer d'envoyer des localisations via:

geo fix <longitude value> <latitude value>

(Telnet est activé sur Windows)

39
Adam Varhegyi

J'ai eu le même problème avec la version 25.1.7 de SDK Tools. Je les ai mis à jour à 25.2 RC1 et cela fonctionne maintenant.

Attention, vous ne pouvez pas installer la version RC à partir de Android Studio. Vous devez lancer le gestionnaire distinct Android SDK Manager pour le voir.

Android SDk Manager with RC Android SDK tools

Relancez l'émulateur et vérifiez que vous utilisez bien la dernière version dans l'écran Aide/À propos de la fenêtre Contrôles étendus.

Extended controls window

9
fstephany

J'ai eu le même problème, mais j'ai réussi à le résoudre.

Lancez Google Maps et acceptez les confirmations au moins une fois jusqu'à ce que vous voyiez la carte. N'oubliez pas de définir le paramètre d'emplacement sur ON/Haute précision, comme indiqué dans la capture d'écran ci-dessous.

Google MapsSettings

72
Emre Kilinc Arslan

Dans mon cas, la raison était les paramètres d'emplacement dans les paramètres du téléphone définis sur "Économie de batterie". Il est passé à "Haute précision" et cela a fonctionné.

7
a1eksandre

En utilisant OS X et Android Studio, avait le même problème et ce qui a fonctionné pour moi a été d'aller dans les paramètres du téléphone (émulateur), de l'emplacement, puis d'éteindre l'emplacement et de le rallumer. Testé à nouveau et a commencé à fonctionner.

Je pense que cela n'a pas beaucoup d'importance, mais la version de Emulator: 26.0.3-3965150.

un simple redémarrage de l'émulateur a fait le travail pour moi (clic long sur le bouton d'arrêt et sélectionnez redémarrer)

4
Cosmin Badulescu

enter image description here

Je devais définir l'emplacement sur Périphérique uniquement sur l'émulateur pour que cela fonctionne. Parfois, il faut basculer entre les modes. L'appareil ne force que l'utilisation du GPS et pas du WiFi, du Bluetooth, etc.

1
Meanman

J'ai également eu ce problème, j'ai repris un projet squelette de quelqu'un d'autre et je ne pouvais pas demander à l'émulateur de prendre la position GPS.

Dans mon cas, le problème était le LocationManager choisi par défaut dans le projet auquel Android Studio, qui utilisait le réseau et non le GPS).

0
Klunk

J'ai également essayé de simuler un changement d'emplacement depuis l'onglet = "Contrôle de l'émulateur" de Android de Device Monitor. Le bouton "Envoyer" n'est pas cliquable, les champs long et lat sont désactivés et je ne peux rien remplir. Les onglets "GPX" et "KML" sont également désactivés.

J'ai remarqué la même chose, mais j'ai ensuite regardé dans le menu étendu de l'émulateur lui-même. Vous pouvez mettre à jour l'emplacement via le menu de l'émulateur. enter image description here

0
Tequilaman