Chcę uzyskać długość i szerokość geograficzną w emulatorze Androida do testowania.
Czy ktoś może mi pomóc, jak to osiągnąć?
Jak ustawić lokalizację emulatora na pozycję testową?
Chcę uzyskać długość i szerokość geograficzną w emulatorze Androida do testowania.
Czy ktoś może mi pomóc, jak to osiągnąć?
Jak ustawić lokalizację emulatora na pozycję testową?
Odpowiedzi:
Możesz połączyć się z emulatorem przez Telnet. Następnie masz konsolę emulatora, która pozwala wprowadzać określone dane, takie jak poprawki geo, sieć itp.
Sposób korzystania z konsoli został szczegółowo wyjaśniony tutaj . Aby połączyć się z konsolą, otwórz wiersz poleceń i wpisz
Następnie możesz użyć polecenia geo, aby ustawić szerokość, długość i, w razie potrzeby, wysokość na urządzeniu przekazywanym do wszystkich programów korzystających z dostawcy lokalizacji GPS. Zobacz link powyżej, aby uzyskać dalsze instrukcje.
Konkretne polecenie do uruchomienia w konsoli to
Uznałem tę stronę za przydatną do znalezienia realistycznej wersji językowej: http://itouchmap.com/latlong.html
Jeśli potrzebujesz więcej niż jednej współrzędnej, możesz użyć pliku kml z trasą, jest to nieco opisane w tym artykule . W tej chwili nie mogę znaleźć lepszego źródła.
źródło
geo fix
Polecenie jest dostępne tylko wtedy, gdyauth
pierwszy. Może warto wspomnieć ...Nikt tutaj nie wspomniał o wbudowanym rozwiązaniu samego emulatora, więc dla przyszłych gości chciałbym podzielić się nim z obrazami.
Najpierw uruchom emulator Androida i kliknij przycisk menu (3 kropki) pokazany poniżej:
Następnie w lewym okienku wybierz Lokalizacja i zmień współrzędne zgodnie z własnymi potrzebami. Po naciśnięciu przycisku Wyślij zmiany zaczną obowiązywać (zalecamy otwarcie Map Google w celu lepszego zrozumienia).
Wersja Androida Studio: 2.3.3
Ponadto, aby różne lokalizacje przychodziły do Twojej aplikacji w czasie rzeczywistym, możesz użyć pliku GPX. Utworzenie tego pliku z linku kierunkowego Mapy Google jest bardzo proste:
Użyj przycisku „Załaduj GPS / KML”, aby załadować utworzony plik do emulatora, wybierz prędkość i naciśnij zielony przycisk odtwarzania na dole. Lokalizacje zostaną wysłane w czasie rzeczywistym, jak pokazano na poniższym obrazku.
źródło
Szukałem lepszego sposobu ustawienia współrzędnych GPS emulatora niż używanie
geo fix
i ręczne określanie konkretnych współrzędnych szerokości i długości geograficznej.Nie mogąc nic znaleźć, stworzyłem mały program, który korzysta z GWT i interfejsu API Google Maps, aby uruchomić narzędzie do mapowania w przeglądarce, aby ustawić lokalizację GPS w emulatorze:
emulator gps dla Androida
Mam nadzieję, że może być przydatny, aby pomóc innym, którzy bez wątpienia natkną się również na tę trudność / pytanie.
źródło
ConnectionRefused
komunikat, jeśli uruchomię emulator GPS przed uruchomieniem urządzenia wirtualnego z Androidem. Na górze mojej przeglądarki jest też napisane „Błąd nawiązywania połączenia na porcie 5554 ...” Wszystko działa dobrze, jeśligeo fix 42,42 42,42 42
przecinek zamiast kropek.Jeśli używasz
Eclipse
, przejdź doWindow->Open Perspective->DDMS
, a następnie wpisz jedenLocation Controls
i naciśnijSend
.źródło
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = mlocManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Unable to send command to the emulator
. Wiesz, dlaczego to nie działa? Używam domyślnego Nexusa 4 AVDDla użytkowników Androida Studio:
uruchom emulator,
Następnie przejdź do
Tools -> Android ->Android device monitor
otwórz
Emulator Control
kartę i użyj grupy kontroli lokalizacji.źródło
Zakładając, że masz skonfigurowany i uruchomiony widok mapy:
Będziesz potrzebować następującego pozwolenia w swoim manifeście:
Aby wysłać symulowane współrzędne do emulatora z Eclipse, przejdź do menu „Okno”, wybierz „Pokaż widok”> „Inne”> „Sterowanie emulatorem” i możesz wysłać współrzędne z wyświetlonego panelu sterowania emulatora.
źródło
runOnFirstFix
? Ponieważ jest to zdarzenie, które jest wywoływane, gdy urządzenie po raz pierwszy odbiera pozycję GPS, więc jeśli kiedykolwiek zostanie podniesione,getMyLocation
powinno zdecydowanie zwrócić wartość.W przypadku nowego emulatora:
http://developer.android.com/tools/devices/emulator.html#extended
Zasadniczo kliknij przycisk trzech kropek w kontrolkach emulatora (po prawej stronie emulatora), a otworzy się menu, które pozwoli ci kontrolować emulator, w tym lokalizację
źródło
1. Użytkownicy Androida Studio.
Po uruchomieniu emulatora goto Narzędzia-> Android-> monitor urządzenia z Androidem
Kliknij zmianę zakładki Emulator w grupie kontrolek lokalizacji.
2. Użytkownicy Eclipse.
Najpierw w menu Eclipse In Wybierz „Window”, następnie wybierz „Open Perspective”, a następnie wybierz „DDMS”. tj. Window-> Open Prespective-> DDMS.
Zobaczysz w panelu Urządzenia po lewej stronie, a po prawej stronie zobaczysz różne zakładki. Wybierz zakładkę „Sterowanie emulatorem”.
Na dole zobaczysz Panel Kontroli lokalizacji. Wybierz zakładkę „Ręcznie”.
Wpisz Długość i szerokość geograficzną w polach tekstowych, a następnie kliknij przycisk Wyślij. Wyśle Ci pozycję do emulatora i aplikacji.
3. Korzystanie z telnet.
W poleceniu uruchomienia wpisz to.
Jeśli nie korzystasz z systemu Windows, możesz użyć dowolnego klienta Telnet.
Po połączeniu z telnet użyj poniższego polecenia, aby wysłać swoją pozycję do emulatora.
4. Użyj narzędzia Google Maps opartego na przeglądarce
Istnieje program, który korzysta z GWT i interfejsu API Google Maps do uruchomienia narzędzia mapy opartego na przeglądarce, aby ustawić lokalizację GPS w emulatorze:
emulator gps dla Androida
źródło
Za pomocą polecenia „geo” w konsoli emulatora
Aby wysłać fałszywe dane o lokalizacji z wiersza polecenia:
Uruchom aplikację w emulatorze Androida i otwórz terminal / konsolę w katalogu / tools pakietu SDK.
Połącz z konsolą emulatora:
telnet localhost 5555
(Zamień 5555 na dowolny port, na którym działa emulator)Wyślij dane lokalizacji: * poprawka geograficzna, aby wysłać ustaloną lokalizację geograficzną.
To polecenie akceptuje długość i szerokość geograficzną w stopniach dziesiętnych oraz opcjonalną wysokość w metrach. Na przykład:
źródło
Napisałem skrypt Pythona, aby wypychać lokalizacje GPS do emulatora przez telnet. Określa źródło i lokalizację docelową. Istnieje również przesunięcie czasowe, które pozwala kontrolować, jak długo współrzędne będą wypychane do urządzenia. Jedna lokalizacja jest wypychana raz na sekundę.
W poniższym przykładzie skrypt przenosi się z Berlina do Hamburga w 120 sekund. Lokalizacja krok / GPS na sekundę z losowymi odległościami.
źródło
Używam funkcji DDMS wtyczki zaćmienia, aby wysłać GPS.
źródło
W systemie Linux, gdzie porty komunikacyjne są zablokowane. przejdź do terminala do folderu platformy-narzędzia w środku
android sdk
i uruchom następujące polecenie:źródło
W komputerach Mac, Linux lub Cygwin:
To umieści cię w Mexico City. Zmień odpowiednio długość i szerokość geograficzną / wysokość. To powinno wystarczyć, jeśli nie jesteś zainteresowany nmea.
źródło
Dla mnie zadziałało następujące rozwiązanie - otwórz wiersz poleceń i napisz:
źródło
Wreszcie dzięki najnowszej wersji Androida Studio 4 i jego nowej aktualizacji emulatora 23.10.2019 stało się łatwiejsze. Uruchom emulator i przejdź do parametrów emulatora ...> w zakładce „Trasy” możesz wybrać dwa punkty na mapie od / do i rozpocząć nową trasę z regulowaną prędkością odtwarzania, która może przekroczyć 1000 km / h!
źródło
Zobacz Uzyskiwanie lokalizacji użytkownika
Przejrzyj część Podawanie fałszywych danych o lokalizacji . Znajdziesz na to rozwiązanie.
źródło
Najpierw przejdź do sekcji DDMS w swoim zaćmieniu Niż otwórz emulator Sterowanie .... Przejdź do sekcji Ręczne ustaw długość i długość, a następnie naciśnij przycisk Wyślij
źródło
Próbowałem ustawić poprawkę geograficzną za pomocą adb dla wielu punktów i nie mogłem uzyskać w mojej aplikacji żadnych danych GPS. Ale kiedy próbowałem otworzyć DDMS, od razu wybrałem proces mojej aplikacji i wysłałem współrzędne przez kartę kontrolną emulatora.
źródło
Dalvik Debug Monitor> Wybierz Emulator> Karta Sterowanie emulatorem> Sterowanie położeniem.
DDMS - android_sdk / tools / ddms LUB android_sdk / tools / monitor
źródło
Jeśli używasz Eclipse, a następnie kontrolera Emulator, możesz ręcznie ustawić szerokość i długość geograficzną oraz uruchomić aplikację opartą na mapie w emulatorze
źródło
Jeśli używasz Androida Studio (1.3):
źródło
Po prostu ułóż odpowiedź Alberto Gaony w jednym wierszu
5554 to numer portu emulatora pokazany w
adb devices
.Byłoby lepiej, gdyby
adb emu
praca.źródło
Jeśli powyższe rozwiązania nie działają. Spróbuj tego:
Wewnątrz Androida Manifest.xml dodaj dwa poniższe linki POZA tagiem aplikacji, ale oczywiście w tagu manifestu
źródło
Nie mogłem uzyskać poprawki GPS na emulatorze, gdy emulator uruchomił obraz Androida bez interfejsów API Google. Gdy tylko zmieniłem obraz, aby zawierał interfejsy API Google, wszystkie wymienione tutaj sposoby uzyskania poprawek GPS działały.
Upewnij się, że wybierasz obraz z interfejsami API Google podczas tworzenia AVD.
źródło
Wspomniana już wielokrotnie odpowiedź na polecenie powłoki „ geo fix ... ” jest poprawną odpowiedzią. Ale jeśli używasz LocationClient.getLastLocation () do pobierania danych, warto wspomnieć, że na początku nie będzie działać. Klasa LocationClient używa usługi Google Play do pobierania współrzędnych. Dla mnie to zaczęło działać po jednokrotnym uruchomieniu aplikacji map emulatorów. Podczas pierwszego uruchomienia zostaniesz poproszony o zezwolenie aplikacjom Google na dostęp do Twojej lokalizacji, co chyba załatwia sprawę.
źródło
Dla własnego projektu opracowałem usługę online, która może zapewnić symulowaną lokalizację emulatora Androida.
Używa geo nmea zamiast geo fix, co pozwala mu ustawić prędkość, kurs, dokładny czas itp. Oprócz tylko lat / lon.
Usługa wymaga narzędzia wiersza polecenia nc (netcat) i niczego więcej.
http://www.kisstech.ch/nmea/
źródło
Możesz użyć emulatora, takiego jak genymotion, który daje elastyczność naśladowania aktualnej lokalizacji GPS itp.
źródło
Dostępna jest wtyczka do Android Studio o nazwie „Mock Location Plugin”. Za pomocą tej wtyczki możesz emulować wiele punktów. Szczegółowy podręcznik użytkowania można znaleźć pod tym linkiem: Android Studio. Symuluj wiele punktów GPS za pomocą fałszywej wtyczki lokalizacji
źródło
Otwórz studio Android-> menu Narzędzia-> Android-> Monitor urządzeń z Androidem-> Karta Emulator-> Kontrola lokalizacji-> Ustaw wymaganą szerokość i długość geograficzną i sprawdź projekt zgodnie z potrzebami
źródło
W zaćmieniu:
Może być konieczne przeciągnięcie okna DDMS w dół. „Sterowanie lokalizacją” znajduje się w „Akcjach telefonicznych” i może być ukryte przez widok normalnej wielkości konsoli (pasek z konsolą, LogCat itp. Może to zasłaniać!)
~
źródło