Android模拟器不使用Windows主机文件?

时间:2010-08-12 14:25:06

标签: android dns android-emulator

m3 http://img245.imageshack.us/img245/461/65254534.jpg

Chrome使用Windows的主机文件:

m1 http://img266.imageshack.us/img266/9380/59750633.jpg

Android模拟器:

m2 http://img821.imageshack.us/img821/7363/19470766.jpg

修改

“在Windows上,模拟器通过调用GetNetworkParams()API获取地址。请注意,这通常意味着模拟器忽略”hosts“文件的内容(Linux / OS X上的/ etc / hosts,%WINDOWS Windows上的%/ system32 / HOSTS。“

如何在模拟器中使用静态IP?

3 个答案:

答案 0 :(得分:4)

我收到了这篇文章,它解释了如何编辑hosts文件。我不知道它是否有效,它可能会有所帮助。

BROKEN(2015年2月) - http://www.bradcurtis.com/2011/02/13/hosts-file-google-android-emulator/(保留以防万一)

如果我没有错,他们会移动链接here,我不确定它是否是同一篇文章,我从2012年5月起就没有提到过。 http://www.bradcurtis.com/hosts-files-and-the-google-android-emulator/


编辑:添加一个有用的新链接并讨论ame问题(不确定它是否是同一篇文章。

答案 1 :(得分:3)

FWIW,可以在模拟器中更改手机自己的/etc/hosts文件 - 它位于只读文件系统上。

就个人而言,我会在您的PC上运行本地解析服务器,将Windows O / S指向该处,然后正确覆盖这些条目。

Unbound将完成这项工作,并且有一个很好的功能,允许您在DNS结果中插入“本地数据”。

答案 2 :(得分:0)

可以使用以下命令更新Android手机自己的主机文件:

adb remount
adb push hosts /etc/system/hosts (most tutorials suggest this file)
adb push hosts /system/etc/hosts (some VM systems seem to prefer this file instead!, for me this worked)

如果有任何问题,例如我随机获取了一个只读文件系统'错误90 我尝试在上面运行的时间的百分比,然后尝试运行' adb root '在上面之前(对我来说没有用),或者用你的android sdk的emulator.exe手动启动Android VM:

emulator.exe -avd Nexus_6_API_23 -partition-size 512

(有些偷看建议手动分区大小,这样可以更容易写入VM吗?呃似乎工作得更好但仍然有随机的只读错误)。 使用GenyMotion创建的Android VM看起来更稳定,永远不会得到只读文件系统'当我尝试推送主机文件时,他们的VM出现问题。

如果您要查看的网站托管在您的主机上,那么您可以通过主机文件通过特殊的IP android VM识别它作为主机:

10.0.2.2 test-drupal8.localhost

或者如果使用桥接网络而不是NAT(假装你的Windows主机是172.16.6.50,你的网站是托管的,Android VM是172.16.6.51),那么可以直接使用windows ip:

172.16.6.50 test-drupal8.localhost

注意:确保Windows防火墙/防病毒/防火墙在测试时已关闭,因为他们阻止了我的网址,直到我将其关闭。