【问题标题】:How to set the location manually in Android Studio emulator如何在 Android Studio 模拟器中手动设置位置
【发布时间】:2018-05-11 16:47:18
【问题描述】:

我有一个项目,我需要在印度获得位置。但在我的模拟器中,我没有得到位置。

  • 我需要获取印度的位置
  • 当我从模拟器中获取谷歌地图时,它显示的是海中的当前位置。

    API level I am using is 27.
    Emulator I use is Nexus 5x.
    

如何在此模拟器中获取当前位置,也可以手动获取。

我尝试在模拟器中编辑位置并尝试提供纬度和经度,但它不起作用。

【问题讨论】:

标签: android android-emulator android-location avd


【解决方案1】:

首先,

  • 重新启动您的模拟器。
  • 转到更多 > 位置。输入您的经纬度 > 按 SEND

【讨论】:

  • 试了很多次..不起作用,设置后我查看谷歌地图时仍然显示当前位置在美国
【解决方案2】:

在 2020 年的 Android Studio 3.6 中,我必须更改模拟器位置的方式与接受的答案略有不同。这是怎么回事:

首先,

其次,Location第一个菜单项,默认选中。您必须在地图中选择您的位置并保存该点

第三,选择保存的点,然后点击右下角的选择位置按钮。

就是这样,关闭那个窗口。你们都完成了。

有时您可能必须关闭模拟器并打开(不重新启动)。

【讨论】:

  • 您可以直观地设置它,但如果我将其记录在我的应用程序中,经度和纬度仍然会在美国的某个地方
  • 是的,这就是这些更改后的山景城位置
  • 它不工作。它仍然提供山景城的位置。
  • 设置新位置后仍然无法正常工作,我也尝试了重置。
  • 对我来说,关闭Extended controls 窗口就可以了
【解决方案3】:

您可以使用命令提示符或 ADB 设置位置

在 AndroidManifest.xml 中设置权限:

为您的 Android 模拟器找到正确的本地端口:

$ adb devices
  List of devices attached
  emulator-5554 device

我们正在寻找的端口在本例中是 5554。现在通过 telnet 连接:

$ telnet localhost 5554
  Trying::1...
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  Android Console: type 'help' for a list of commands

手动设置首选位置:使用 geo fix 命令设置位置:

 geo fix $longitude $latitude

举例

geo fix 2.169919 41.387917
OK

另一种简单的方法

从 Android Studio 打开 Android 设备监视器

选择模拟器。

选择模拟器控制

在模拟器控制中选择位置控制

选择手动

在此给出您的经度纬度

【讨论】:

  • 当我尝试发出命令 - geo fix 2.169919 41.387917 时,我收到错误:- Android 控制台:需要身份验证 Android 控制台:输入 'auth ' 来验证 Android 控制台:你可以找到你的 in 'C:\Users\martin\.emulator_console_auth_token' OK - 如何处理这个错误@Tomin B
  • @Martinj 尝试下一个方法。使用 Android 设备监视器。第二种方法肯定会奏效
  • 当我点击 android 设备监视器时,什么也没有出现
  • ADM 为模拟器控制显示所有内容。模拟器可以让你输入和按下带有 gps 坐标的按钮,但它没有任何影响
  • @Martinj Ops 忘了说您还需要重新启动模拟器。你有吗?
【解决方案4】:

就我而言;直到我在模拟器上登录我的谷歌帐户,位置没有改变。登录后就变了。我认为这与 Google 服务有关。

【讨论】:

    【解决方案5】:

    就我而言,设置点并重新启动模拟器,然后登录 Google 帐户并直接在 Chrome 中检查我的位置是解决方案。

    【讨论】:

      【解决方案6】:

      将强制 Android 位置管理器设置为 true。像这样 "position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.low, forceAndroidLocationManager: true);" 然后你会在模拟器上得到位置。

      【讨论】:

        猜你喜欢
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-05
        • 1970-01-01
        • 2017-08-07
        • 2017-07-13
        相关资源
        最近更新 更多