Android手机如何伪造或模拟位置

6
我已经尝试了几天,但仍然无法使其正常工作。基本上,我正在编写一个小型测试应用程序,以使用addTestProvider和setTestProviderLocation等方法将手机的位置报告为其他地方。它看起来很好,并且似乎报告了位置的更改,但是Google Maps等应用程序似乎仍在查询真实的GPS提供程序。有没有人有任何想法可以解决这个问题?
这不是一个实际使用的应用程序,只是为了满足我的好奇心和理解而已。
提前感谢您的帮助。

3
如果您能做到这一点,这将成为出轨丈夫的一个好应用程序! - Fenton
1
市场上已经有免费的位置欺骗应用程序可供使用。 - Pentium10
你是否更改了手机系统参数以允许模拟位置?设置-应用程序-开发-允许模拟位置?不确定这是否是你的问题,但值得一试。 - user420395
大家好 - 事实证明,将位置提供者从GPS切换到网络解决了问题。Pentium10 - 我知道已经有应用程序存在。我这样做是为了理解并使我的代码工作,而不是为了构建一个可市场化的应用程序。我通常不会放弃未解决的问题! - m0thman
1
“从GPS切换到网络作为位置提供者解决了问题”是什么意思?只有GPS位置被伪造了吗?还是当你请求两者时,两者都是正确的? - Dirk Jäckel
1个回答

5

您需要将以下内容添加到清单xml中,允许应用程序使用模拟位置:

<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>

在您的手机上,请确保启用了“模拟位置”,方法是在设置 -> 应用程序 -> 开发菜单下选择“允许模拟位置”选项。

然后使用一个模拟位置提供程序来提供虚假位置(例如,通过从文件/数据库读取数据)

或者,您可以telnet到您的手机并模拟位置(同样需要权限和启用您的手机上的模拟位置):

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

一旦获得了权限,如何“使用模拟位置提供程序提供虚假位置”?这里的代码在哪里? - android developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接