Quero obter longitude e latitude no emulador Android para teste.
Alguém pode me orientar como conseguir isso?
Como faço para definir o local do emulador para uma posição de teste?
Quero obter longitude e latitude no emulador Android para teste.
Alguém pode me orientar como conseguir isso?
Como faço para definir o local do emulador para uma posição de teste?
Respostas:
Você pode se conectar ao emulador via Telnet. Você tem um console de emulador que permite inserir determinados dados, como correções geográficas, rede etc.
Como usar o console é explicado extensivamente aqui . Para conectar-se ao console, abra uma linha de comando e digite
Em seguida, você pode usar o comando geo para definir uma latitude, longitude e, se necessário, altitude no dispositivo que é passado a todos os programas usando o provedor de localização por GPS. Consulte o link acima para obter mais instruções.
O comando específico a ser executado no console é
Achei este site útil para encontrar um lat / lng realista: http://itouchmap.com/latlong.html
Se você precisar de mais de uma coordenada, poderá usar um arquivo kml com uma rota, além disso, é um pouco descrito neste artigo . Não consigo encontrar uma fonte melhor no momento.
fonte
geo fix
comando está disponível apenas se vocêauth
primeiro. Pode ser vale a pena mencionar ...Ninguém aqui mencionou a solução incorporada do próprio emulador; portanto, para futuros visitantes, eu gostaria de compartilhá-lo com recursos visuais.
Primeiro, execute o seu Emulador Android e clique no botão de menu (3 pontos) mostrado abaixo:
Em seguida, no painel esquerdo, selecione Localização e altere as coordenadas de acordo com suas necessidades. Depois de pressionar o botão Enviar , as alterações entrarão em vigor imediatamente (eu recomendo que você abra o Google Maps para entender melhor).
Versão do Android Studio: 2.3.3
Além disso, para tornar seus diferentes locais chegando ao seu aplicativo em tempo real, você pode usar o arquivo GPX. É muito fácil criar esse arquivo no link de direção do Google Map:
Use o botão "Carregar GPS / KML" para carregar o arquivo criado no seu emulador, escolha a velocidade e pressione o botão verde de reprodução na parte inferior. Os locais serão enviados em tempo real, como mostra a figura abaixo.
fonte
Eu estava procurando uma maneira melhor de definir as coordenadas GPS do emulador do que usar
geo fix
e determinar manualmente as coordenadas específicas de latitude e longitude.Incapaz de encontrar qualquer coisa, montei um pequeno programa que usa o GWT e a API do Google Maps para iniciar uma ferramenta de mapa baseada em navegador para definir a localização do GPS no emulador:
android-gps-emulator
Espero que possa ser útil para ajudar outras pessoas que, sem dúvida, também tropeçarão nessa dificuldade / questão.
fonte
ConnectionRefused
mensagem se eu iniciar o emulador de GPS antes de iniciar o dispositivo virtual Android. Na parte superior do meu navegador também diz "Erro fazendo conexão na porta 5554 ..." Tudo funciona bem se eu clicar no botão "Alterar emulador de porta" para reconectargeo fix 42,42 42,42 42
vírgulas em vez de pontos.Se você estiver usando
Eclipse
, vá paraWindow->Open Perspective->DDMS
, digite umLocation Controls
e pressioneSend
.fonte
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = mlocManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Unable to send command to the emulator
. Alguma idéia de por que não está funcionando? Eu estou usando o Nexus 4 AVD padrãoPara usuários do Android Studio:
execute o emulador,
Então vá para
Tools -> Android ->Android device monitor
abra a
Emulator Control
guia e use o grupo de controles de localização.fonte
Supondo que você tenha um mapview configurado e em execução:
Você precisará da seguinte permissão no seu manifesto:
E para enviar coordenadas simuladas para o emulador do Eclipse, vá para o menu "Janela", selecione "Mostrar modo de exibição"> "Outros"> "Controle do emulador" e é possível enviar coordenadas no painel de controle do emulador exibido.
fonte
runOnFirstFix
? Como esse é o evento gerado quando o dispositivo recebe a posição GPS pela primeira vez, portanto, se alguma vez foi gerado,getMyLocation
definitivamente deve retornar um valor.Para o novo emulador:
http://developer.android.com/tools/devices/emulator.html#extended
Basicamente, clique no botão de três pontos nos controles do emulador (à direita do emulador) e ele abrirá um menu que permitirá que você controle o emulador, incluindo a localização
fonte
1. Usuários do Android Studio.
Depois de executar o emulador, vá para Ferramentas-> Android-> Monitor de dispositivo Android
Clique na guia Emulator Control Change no grupo de controles de localização.
2. Usuários do Eclipse.
Primeiro no Eclipse No menu Selecione "Janela", selecione "Abrir perspectiva" e depois selecione "DDMS". ie Janela-> Abrir Prespectiva-> DDMS.
Você verá no painel de dispositivos do lado esquerdo e, no lado direito, verá guias diferentes. Selecione a guia "Emulator Control".
Na parte inferior, você verá o Painel de controles de localização. Selecione a guia "Manual".
Digite Longitude e Latitude nas caixas de texto e clique no botão Enviar. Ele enviará a posição para o emulador e o aplicativo.
3. Usando o telnet.
No comando executar, digite isso.
Se você não estiver usando o Windows, poderá usar qualquer cliente de telnet.
Após conectar-se ao telnet, use o seguinte comando para enviar sua posição ao emulador.
4. Use a ferramenta de mapas do Google baseada no navegador
Existe um programa que usa o GWT e a API do Google Maps para iniciar uma ferramenta de mapa baseada no navegador para definir a localização do GPS no emulador:
android-gps-emulator
fonte
Usando o comando "geo" no console do emulador
Para enviar dados de localização simulados a partir da linha de comando:
Inicie seu aplicativo no emulador do Android e abra um terminal / console no diretório / tools do SDK.
Conecte-se ao console do emulador:
telnet localhost 5555
(Substitua 5555 por qualquer porta em que seu emulador esteja sendo executado)Envie os dados da localização: * correção geográfica para enviar uma localização geográfica fixa.
Este comando aceita uma longitude e latitude em graus decimais e uma altitude opcional em metros. Por exemplo:
fonte
Eu escrevi um script python para enviar os locais dos gps para o emulador via telnet. Ele define uma fonte e um local de destino. Há também um deslocamento de tempo que permite controlar por quanto tempo as coordenadas serão enviadas ao dispositivo. Um local está sendo enviado uma vez por segundo.
No exemplo abaixo, o script muda de Berlim para Hamburgo em 120 segundos. Localização de um passo / gps por segundo com distâncias aleatórias.
fonte
Eu uso a função DDMS do plug eclipse para enviar GPS.
fonte
No Linux, onde as portas de comunicação estão bloqueadas. navegue no terminal para a pasta platform-tools dentro
android sdk
e dispare este comando:fonte
No Mac, Linux ou Cygwin:
Isso o colocará na Cidade do México. Mude sua longitude / latitude / altitude de acordo. Isso deve ser suficiente se você não estiver interessado em nmea.
fonte
A seguinte solução funcionou para mim - abra a linha de comando e escreva:
fonte
Finalmente, com a versão mais recente do Android Studio 4 e sua nova atualização do Emulador, 23/10/2019, ficou mais fácil. Inicie o seu emulador e vá para os parâmetros do emulador ...> na guia "Rotas", você pode escolher dois pontos no mapa de / para e iniciar uma nova rota com uma velocidade de reprodução ajustável que pode chegar a mais de 1000 km / h!
fonte
Vejo Obtenção da localização do usuário
Procure em Fornecendo dados de localização simulados . Você encontrará a solução para isso.
fonte
Primeiro vá na seção DDMS no seu eclipse. Em seguida, abra o controle do emulador .... Vá para a seção Manual, defina lat e long e pressione o botão Enviar
fonte
Eu estava tentando definir a correção geográfica por meio de adb por muitos pontos e não consegui que meu aplicativo visse dados de GPS. Mas quando tentei abrir o DDMS, selecionar o processo do meu aplicativo e enviar coordenadas pela guia de controle do emulador funcionou imediatamente.
fonte
Dalvik Debug Monitor> Selecione Emulador> Guia Controle de Emulador> Controles de Localização.
DDMS - android_sdk / tools / ddms OU android_sdk / tools / monitor
fonte
Se você estiver usando o eclipse, em seguida, usando o controlador Emulator, poderá definir manualmente a latitude e longitude e executar seu aplicativo baseado em mapa no emulador
fonte
Se você estiver usando o Android Studio (1.3):
fonte
Basta transformar a resposta de Alberto Gaona em uma linha
5554 é o número da porta do emulador mostrado em
adb devices
.Teria sido melhor se o
adb emu
trabalho.fonte
Se as soluções acima não funcionarem. Tente o seguinte:
Dentro do seu Android Manifest.xml, adicione os dois links a seguir FORA da marca do aplicativo, mas é claro que dentro da marca do seu manifesto
fonte
Não foi possível obter uma correção de GPS no emulador quando o emulador estava executando a imagem do Android sem as APIs do Google. Assim que alterei a imagem para conter as APIs do Google, todas as maneiras mencionadas aqui para que uma correção de GPS funcionasse.
Certifique-se de selecionar uma imagem com as APIs do Google ao criar o AVD.
fonte
A resposta múltipla já mencionada para usar o comando shell " correção geográfica ... " é a resposta correta. Mas, caso você use LocationClient.getLastLocation () para recuperar seus dados, vale ressaltar que eles não funcionarão inicialmente. A classe LocationClient usa o Serviço Google Play para recuperar as coordenadas. Para mim, isso começou a funcionar depois de executar o aplicativo de mapas de emuladores uma vez. Durante o primeiro início, você deve permitir o acesso do Google Apps à sua localização, o que eu acho que faz o truque.
fonte
Para um projeto próprio, desenvolvi um serviço online que pode fornecer local simulado para o emulador do Android.
Ele usa geo nmea em vez de geo fix, o que permite definir velocidade, curso, tempo preciso etc., além de apenas lat / lon.
O serviço requer o utilitário de linha de comando nc (netcat) e nada mais.
http://www.kisstech.ch/nmea/
fonte
Você pode usar um emulador como o genymotion, que oferece a flexibilidade de emular sua localização GPS atual, etc.
fonte
Existe um plugin para o Android Studio chamado "Mock Location Plugin". Você pode emular vários pontos com este plugin. Você pode encontrar um manual detalhado de uso neste link: Android Studio. Simule vários pontos GPS com o Mock Location Plugin
fonte
Abra o Android studio-> Menu Ferramentas-> Android-> Android Device Monitor-> Guia Emulador-> Controle de localização-> Defina a latitude e longitude necessárias e verifique seu projeto conforme sua necessidade
fonte
No eclipse:
Talvez você precise arrastar a janela DDMS para baixo. 'Controles de localização' está localizado em 'Ações de telefonia' e pode estar oculto por uma visualização de console de tamanho normal (a barra com console, LogCat etc. pode estar cobrindo a visualização!)
~
fonte