在非root用户的Android上模拟主机文件

有没有办法模仿非root用户的Android上的主机文件的行为?

我需要在Android上testing一个网站。 我通过IP地址访问网站,但似乎redirect到手机无法访问的url。 那么有没有办法模拟hosts文件的行为来把这个URL映射到正确的IP地址。

从search我发现,真正的主机文件是可编辑的根设备,但目前不是我的select。

Solutions Collecting From Web of "在非root用户的Android上模拟主机文件"

正如克里斯所说,你可以编辑一个模拟器的主机文件,因为它已经是根源了。

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

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

2)您可以在您的设备上设置为该networking中的计算机的dnsserver ip。 那么与dnsmasq相同的动作

您可以在设备的WiFi首选项上指定HTTP代理。 在这个代理上,你可以破解HTTP,比如说修改HTTPredirect响应,redirect到你定制的HTTP服务器。 http://wiki.squid-cache.org/SquidFaq/ContentAdaptation看起来很翔实。

或者保持redirect响应并将指定的URLredirect到您的自定义服务器。

如果您不想与桌面计算机混淆,则可以在Android设备上运行DNS服务器。 我在Play商店find了一个。 它没有提到需要root还是不需要,所以可能不需要root。

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

基本上你必须设置你的WIFI连接DNS服务器为127.0.0.1或本地主机(Android允许轻松在连接的高级细节),然后使用该应用程序为您要更改的主机设置一个IP。

而已。