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?

Cassioso
quelle

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

luv
quelle
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

Jared Burrows
quelle
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

jmp
quelle
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

hannes ach
quelle