Ist es möglich, den Breiten- und Längengrad des Geräts mit ADB SHELL einzustellen?


7

Ich weiß, wie man Locatlon für Emulatoren beispielsweise über die Gerätekonfigurationsoberfläche von Motodoev Studio einstellt. Aber wie kann ich Locatlon für ein Gerät einstellen?

Antworten:


5

Zu Jareds Antwort hinzufügen (kann nicht kommentieren - noch nicht genug Ruf: /). Dies funktioniert nur mit dem Emulator, also habe ich eine App geschrieben, die Sie auf einem realen Gerät ausführen können, und sie bietet genau die gleiche Schnittstelle (Telnet zu: 5554 und führen Sie "geo fix ..." oder "geo nmea" aus): MockGeoFix


mockgeofix stellt keine Verbindung über Telnet her
user54098

mockgeofix läuft die Telnet - Sever und Sie eine Verbindung mockgeofix telnet
luv

6

Dies ist mit der ADB-Shell möglich:

$ telnet localhost 5554
Android Console: type 'help' for a list of commands
OK
geo fix -82.411629 28.054553
OK

Bitte lesen Sie: https://stackoverflow.com/a/2587369/950427


ist das nicht für ein Gerät? AFAIK, es gibt keine andere Möglichkeit, den Standort festzulegen, als den Standort auf Ihrem Gerät zu verspotten und einen Teststandortanbieter hinzuzufügen.
Avinash R

Ja, ich glaube, das hat er gesucht. Was ist deine Frage?
Jared Burrows

3
Abstimmung abstimmen, da OP explizit nach einem Gerät fragt. Dies funktioniert nur für den Emulator.
CD

@cde Ich habe diese Frage vor mehr als 3,5 Jahren beantwortet. Es half OP zu der Zeit.
Jared Burrows

1

Alternativ kann hier auch die App io.appium.setting von Appium verwendet werden .

Sobald diese App auf dem Gerät installiert ist, können Sie ihr über adb folgende Berechtigungen und einen falschen Speicherort erteilen:

  adb shell pm grant io.appium.settings android.permission.READ_PHONE_STATE
  adb shell pm grant io.appium.settings android.permission.WRITE_SETTINGS
  adb shell pm grant io.appium.settings android.permission.ACCESS_FINE_LOCATION
  adb shell pm grant io.appium.settings android.permission.ACCESS_COARSE_LOCATION
  adb shell pm grant io.appium.settings android.permission.ACCESS_MOCK_LOCATION
  adb shell pm grant io.appium.settings android.permission.SET_ANIMATION_SCALE
  adb shell pm grant io.appium.settings android.permission.CHANGE_CONFIGURATION

  adb shell am start -W -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000
  adb shell appops set io.appium.settings android:mock_location allow

  adb shell am startservice -e longitude 28 -e latitude 77 io.appium.settings/.LocationService;

Weitere Informationen über die App und einige andere Absichten finden Sie in der Readme-Datei


0

Alternativ zur @ jmp-Antwort kann ich empfehlen, anstelle von Appiums App den FakeTraveler zu verwenden. Es hat nicht den Nachteil, viele adbBerechtigungsbefehle auszuführen, die nicht sofort funktionieren, und ohne Google-Suche funktioniert das Festlegen der Berechtigung ACCESS_MOCK_LOCATION nicht .

FakeTraveler führt Sie automatisch zur richtigen Entwicklereinstellung ♥

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.