Je veux obtenir la longitude et la latitude dans l'émulateur Android pour les tests.
Quelqu'un peut-il me guider pour y parvenir?
Comment définir l'emplacement de l'émulateur sur une position de test?
Je veux obtenir la longitude et la latitude dans l'émulateur Android pour les tests.
Quelqu'un peut-il me guider pour y parvenir?
Comment définir l'emplacement de l'émulateur sur une position de test?
Réponses:
Vous pouvez vous connecter à l'émulateur via Telnet. Vous avez ensuite une console d'émulateur qui vous permet d'entrer certaines données comme les correctifs géographiques, le réseau, etc.
Comment utiliser la console est expliqué en détail ici . Pour vous connecter à la console, ouvrez une ligne de commande et tapez
Vous pouvez ensuite utiliser la commande geo pour définir une latitude, une longitude et, si nécessaire, une altitude sur l'appareil qui est transmise à tous les programmes à l'aide du fournisseur de localisation gps. Voir le lien ci-dessus pour plus d'instructions.
La commande spécifique à exécuter dans la console est
J'ai trouvé ce site utile pour trouver un lat / lng réaliste: http://itouchmap.com/latlong.html
Si vous avez besoin de plus d'une coordonnée, vous pouvez également utiliser un fichier kml avec un itinéraire, c'est un peu décrit dans cet article . Je ne peux pas trouver de meilleure source pour le moment.
la source
geo fix
commande n'est disponible que si vous enauth
premier.Personne ici n'a mentionné la solution intégrée de l'émulateur lui-même, donc pour les futurs visiteurs, je voudrais le partager avec des visuels.
Tout d'abord, exécutez votre émulateur Android et cliquez sur le bouton de menu (3 points) illustré ci-dessous:
Ensuite, dans le volet gauche, sélectionnez Emplacement et modifiez les coordonnées en fonction de vos besoins. Après avoir appuyé sur le bouton Envoyer , les modifications prendront immédiatement effet (je vous recommande d'ouvrir Google Maps pour une meilleure compréhension).
Version Android Studio: 2.3.3
De plus, pour que vos différents emplacements arrivent dans votre application en temps réel, vous pouvez utiliser le fichier GPX. Il est très facile de créer ce fichier à partir du lien de direction de Google Map:
Utilisez le bouton "Charger GPS / KML" pour charger le fichier créé sur votre émulateur, choisissez la vitesse et appuyez sur le bouton de lecture vert en bas. Les emplacements seront envoyés en temps réel comme indiqué sur l'image ci-dessous.
la source
Je cherchais un meilleur moyen de définir les coordonnées GPS de l'émulateur que d'utiliser
geo fix
et de déterminer manuellement les coordonnées de latitude et de longitude spécifiques.Impossible de trouver quoi que ce soit, j'ai mis en place un petit programme qui utilise GWT et l'API Google Maps pour lancer un outil de carte basé sur un navigateur pour définir l'emplacement GPS dans l'émulateur:
android-gps-emulator
J'espère que cela peut être utile pour aider d'autres personnes qui tomberont sans aucun doute sur cette difficulté / question.
la source
ConnectionRefused
message si je lance l'émulateur GPS avant de démarrer l'appareil virtuel Android. En haut de mon navigateur, il indique également "Erreur lors de la connexion sur le port 5554 ..." Tout fonctionne bien si je clique sur le bouton "Changer le port de l'émulateur" pour se reconnectergeo fix 42,42 42,42 42
virgules au lieu de points.Si vous utilisez
Eclipse
, accédez àWindow->Open Perspective->DDMS
, puis saisissez-en unLocation Controls
et appuyez surSend
.la source
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = mlocManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Unable to send command to the emulator
. Une idée pourquoi ça ne marche pas? J'utilise le Nexus 4 AVD par défautPour les utilisateurs d'Android Studio:
exécutez l'émulateur,
Ensuite aller à
Tools -> Android ->Android device monitor
ouvrez l'
Emulator Control
onglet et utilisez le groupe de contrôles d'emplacement.la source
En supposant que vous avez configuré et exécuté une vue de carte:
Vous aurez besoin de l'autorisation suivante dans votre manifeste:
Et pour envoyer des coordonnées simulées à l'émulateur depuis Eclipse, allez dans le menu "Fenêtre", sélectionnez "Afficher la vue"> "Autre"> "Contrôle de l'émulateur", et vous pouvez envoyer des coordonnées à partir du volet de contrôle de l'émulateur qui apparaît.
la source
runOnFirstFix
? Parce que c'est l'événement qui est déclenché lorsque l'appareil reçoit la position GPS pour la première fois, donc si cela se produit, ilgetMyLocation
devrait certainement retourner une valeur.Pour le nouvel émulateur:
http://developer.android.com/tools/devices/emulator.html#extended
Fondamentalement, cliquez sur le bouton à trois points dans les commandes de l'émulateur (à droite de l'émulateur) et il ouvrira un menu qui vous permettra de contrôler l'émulateur, y compris l'emplacement
la source
1. Utilisateurs d'Android Studio.
Après avoir exécuté l'émulateur, accédez à Outils-> Android-> Moniteur de périphérique Android
Cliquez sur la modification de l'onglet Contrôle de l'émulateur dans le groupe de contrôles d'emplacement.
2. Utilisateurs Eclipse.
D'abord dans Eclipse Dans le menu Sélectionnez "Fenêtre" puis sélectionnez "Ouvrir la perspective" puis sélectionnez "DDMS". c'est-à-dire Fenêtre-> Ouvrir la perspective-> DDMS.
Vous verrez sur le panneau des périphériques du côté gauche et sur le côté droit, vous verrez différents onglets. Sélectionnez l'onglet "Emulator Control".
En bas, vous verrez le panneau des commandes de localisation. Sélectionnez l'onglet "Manuel".
Entrez la longitude et la latitude dans les zones de texte, puis cliquez sur le bouton Envoyer. Il vous enverra la position de l'émulateur et de l'application.
3. Utilisation de telnet.
Dans la commande run, tapez ceci.
Si vous n'utilisez pas Windows, vous pouvez utiliser n'importe quel client Telnet.
Après vous être connecté à telnet, utilisez la commande suivante pour envoyer votre position à l'émulateur.
4. Utilisez l'outil Google Maps basé sur un navigateur
Il existe un programme qui utilise GWT et l'API Google Maps pour lancer un outil de carte basé sur un navigateur pour définir l'emplacement GPS dans l'émulateur:
android-gps-emulator
la source
Utilisation de la commande "geo" dans la console de l'émulateur
Pour envoyer des données d'emplacement fictif à partir de la ligne de commande:
Lancez votre application dans l'émulateur Android et ouvrez un terminal / console dans le répertoire / tools de votre SDK.
Connectez-vous à la console de l'émulateur:
telnet localhost 5555
(Remplacez le 5555 par le port sur lequel votre émulateur fonctionne)Envoyer les données de localisation: * geo fix pour envoyer une géo-localisation fixe.
Cette commande accepte une longitude et une latitude en degrés décimaux et une altitude facultative en mètres. Par exemple:
la source
J'ai écrit un script python pour pousser les emplacements gps vers l'émulateur via telnet. Il définit une source et un emplacement de destination. Il existe également un décalage temporel qui vous permet de contrôler la durée pendant laquelle les coordonnées seront transmises à l'appareil. Un endroit est poussé une fois par seconde.
Dans l'exemple ci-dessous, le script se déplace de Berlin à Hambourg en 120 secondes. Un emplacement pas / gps par seconde avec des distances aléatoires.
la source
J'utilise la fonction DDMS de la prise Eclipse pour envoyer le GPS.
la source
Sous Linux où les ports de communication sont bloqués. naviguez le terminal vers le dossier platform-tools à l'intérieur
android sdk
et lancez cette commande:la source
Sous Mac, Linux ou Cygwin:
Cela vous mettra à Mexico. Modifiez votre longitude / latitude / altitude en conséquence. Cela devrait suffire si vous n'êtes pas intéressé par nmea.
la source
La solution suivante a fonctionné pour moi - ouvrez la ligne de commande et écrivez:
la source
Enfin, avec la dernière version d'Android Studio 4 et sa nouvelle mise à jour Emulator 23/10/2019, cela devient plus facile. Démarrez votre émulateur et accédez aux paramètres de l'émulateur ...> dans l'onglet "Itinéraires" vous pouvez choisir deux points sur la carte de / vers et démarrer un nouvel itinéraire avec une vitesse de lecture réglable qui peut aller à plus de 1000km / h!
la source
Voir Obtention de l'emplacement de l'utilisateur
Regardez sous Fournir des données de localisation simulées . Vous y trouverez la solution.
la source
Allez d'abord dans la section DDMS de votre éclipse puis ouvrez le contrôle de l'émulateur .... Allez dans la section manuelle, définissez lat et long puis appuyez sur le bouton Envoyer
la source
J'essayais de définir le correctif géographique via adb pour de nombreux points et je n'ai pas pu faire en sorte que mon application puisse voir les données GPS. Mais quand j'ai essayé d'ouvrir DDMS, de sélectionner le processus de mon application et d'envoyer des coordonnées via l'onglet de contrôle de l'émulateur, cela a tout de suite fonctionné.
la source
Dalvik Debug Monitor> Sélectionnez Emulator> Onglet Emulator Control> Location Controls.
DDMS - android_sdk / tools / ddms OU android_sdk / tools / monitor
la source
Si vous utilisez eclipse, puis en utilisant le contrôleur Emulator, vous pouvez définir manuellement la latitude et la longitude et exécuter votre application basée sur la carte dans l'émulateur
la source
Si vous utilisez Android Studio (1.3):
la source
Faites simplement la réponse d'Alberto Gaona en une seule ligne
5554 est le numéro de port de l'émulateur indiqué dans
adb devices
.Il aurait mieux valu
adb emu
travailler.la source
Si les solutions ci-dessus ne fonctionnent pas. Essaye ça:
Dans votre Manifest.xml android, ajoutez les deux liens suivants À L'EXTÉRIEUR de la balise d'application, mais à l'intérieur de votre balise manifeste bien sûr
la source
Je n'ai pas pu obtenir de correctif GPS sur l'émulateur lorsque l'émulateur exécutait une image Android sans les API Google. Dès que j'ai changé l'image pour qu'elle contienne les API Google, toutes les méthodes mentionnées ici pour obtenir un correctif GPS fonctionnent.
Assurez-vous de sélectionner une image avec les API Google lors de la création d'AVD.
la source
La réponse déjà mentionnée à plusieurs reprises pour utiliser la commande shell " geo fix ... " est la bonne réponse. Mais si vous utilisez LocationClient.getLastLocation () pour récupérer vos données, il convient de mentionner que cela ne fonctionnera pas au premier abord. La classe LocationClient utilise le service Google Play pour récupérer les coordonnées. Pour moi, cela a commencé à fonctionner après avoir exécuté l'application de cartes d'émulateurs une fois. Lors du premier démarrage, vous êtes invité à autoriser les applications Google à accéder à votre emplacement, ce qui, je suppose, fait l'affaire.
la source
Pour mon propre projet, j'ai développé un service en ligne qui peut fournir un emplacement simulé à l'émulateur Android.
Il utilise geo nmea plutôt que geo fix, ce qui lui permet de régler la vitesse, le cap, l'heure précise, etc. en plus des lat / lon.
Le service nécessite l'utilitaire de ligne de commande nc (netcat) et rien d'autre.
http://www.kisstech.ch/nmea/
la source
Vous pouvez utiliser un émulateur comme genymotion qui vous donne la possibilité d'émuler votre position GPS actuelle, etc.
la source
Il existe un plugin pour Android Studio appelé «Mock Location Plugin». Vous pouvez émuler plusieurs points avec ce plugin. Vous pouvez trouver un manuel d'utilisation détaillé dans ce lien: Android Studio. Simulez plusieurs points GPS avec Mock Location Plugin
la source
Ouvrez Android studio-> menu Outils-> Android-> Android Device Monitor-> onglet émulateur-> contrôle de l'emplacement-> définissez la latitude et la longitude requises et vérifiez votre projet selon vos besoins
la source
En éclipse:
Vous devrez peut-être faire glisser la fenêtre DDMS vers le bas. Les «contrôles de localisation» se trouvent sous «Actions de téléphonie» et peuvent être masqués par une vue de console de taille normale (la barre avec la console, LogCat, etc. peut la couvrir!)
~
la source