14

有没有办法在非 root 的 Android 上模拟主机文件的行为?

我需要在 Android 上测试一个网站。我通过 IP 地址访问该网站,但它似乎重定向到手机无法访问的 URL。那么有没有办法模拟主机文件行为以将此 URL 映射到正确的 IP 地址。

通过搜索,我发现真正的主机文件可以使用有根设备进行编辑,但这对我来说目前不是一个选项。

4

4 回答 4

13

1) 您可以将桌面用作设备的来源或互联网。在这里你可以使用 dnsmasq 和一些下一个规则(例如https://askubuntu.com/questions/53523/how-to-redirect-a-url-to-a-custom-ip-address)你只需要分享通过 USB 连接到设备。

2)您可以在您的设备上设置为该网络中计算机的 dnsserver ip。然后与 dnsmasq 相同的操作

于 2014-02-05T01:14:45.837 回答
1

您可以在设备的 WiFi 首选项中指定 HTTP 代理。在该代理上,您可以破解 HTTP,例如修改 HTTP 重定向响应以重定向到您自定义的 HTTP 服务器。 http://wiki.squid-cache.org/SquidFaq/ContentAdaptation看起来内容丰富。

或者保留重定向响应并将指定的 URL 重定向到您的自定义服务器。

于 2014-02-11T02:16:11.870 回答
1

如果您不想弄乱台式计算机,可以在 Android 设备上运行 DNS 服务器。我在play store上找到了一个。它没有提到是否需要root,所以它可能不需要root。

https://play.google.com/store/apps/details?id=com.icecoldapps.dnsserver

基本上,您必须将您的 WIFI 连接 DNS 服务器设置为 127.0.0.1 或 localhost(Android 允许在连接的高级详细信息中轻松实现这一点),然后使用该应用程序为您要更改的主机设置 IP。

就是这样。

于 2014-02-11T08:51:09.953 回答
0

正如克里斯所说,您可以编辑模拟器的主机文件,因为它已经植根。

http://www.bradcurtis.com/hosts-files-and-the-google-android-emulator/

于 2014-02-11T15:09:16.710 回答