宿主文件在模拟器中的Url映射被忽略

我正在使用genymotion模拟器,并从它拉的主机文件使用

adb remount

adb pull / system / etc / hosts C:\ Users \ Rkn09 \ Desktop \ hosts

我添加了像192.168.0.115 xxx.mydomain.com新的映射,我把它推回到模拟器使用

adb push C:\ Users \ Rkn09 \ Desktop \ hosts / system / etc / hosts

但是当我向xxx.mydomain.com发出请求时,它不会redirect到LAN 192.168.0.115中的本地计算机。 我甚至使用猫/ etc / hosts检查hosts文件,它有我的映射,任何人都可以帮助我解决这个问题。

PS:同样的过程在Mac OS X EI Captain中很好,我在windows7中遇到了这个问题

  • Genymotion仿真器在Kubuntu 13.10 64位上给出Open GL错误
  • Android的Genymotion VS模拟器
  • Genymotion不会从API 21开始
  • 如何在Android的Genymotion模拟器中拨打电话?
  • 如何使用genymotion作为模拟器在android studio中查看存储在sqlite中的数据
  • Genymotion插件不能在Eclipse中显示
  • 是否有可能将设备ROM闪存到AVD仿真器或genymotion?
  • 无法findDRM插件
  • 我有同样的问题。 以下解决它:

    • 确保主机文件的最后一个input后有一个空行
    • 如果您使用主机文件中的选项卡,请将其replace为空格

    重新启动Android,然后重试:

    adb reboot 

    hosts文件应该已经写成使用linux线结束风格。

    记事本以及写字板是不可能的。 尝试安装另一个支持此function的编辑器,并确保您正确保存了hosts文件。

    (我尝试过AkelPad,但Nodepad ++也提供了相同的function)

    据推测,不pipe编码是什么。 Windows-1252 (ANSI)utf-8工作。

    完成所有更改后,将hosts文件推送到设备:

     adb remount adb push hosts /system/etc/hosts 

    确保你有正确的hosts文件,它被加载,无论是否工作:

     adb shell cat /system/etc/hosts adb shell ping my.domain.com 

    从Genymotion设备打开浏览器,并确保一切正常,input:

     http://my.domain.com 

    如果需要,您可以添加端口

     http://my.domain.com:1234 

    你不需要重新启动Android设备。


    如果问题没有发生,请确保它是通过直接ping IP地址来与hosts相关的。

     adb shell ping 192.168.xx 

    如果有效,则再次检查文件中的行尾。 一些文本编辑器可能会混淆它们,而使用Unix行尾的选项通常只与新文件相关。

    显然上面的解决scheme都没有帮助你,这是我的预期。 我不知道如何给你一步一步的解决scheme,但我希望我的回答能帮助你。

    模拟器(通常)驻留在完全不同的子网中。

    仿真系统创build一个虚拟networking适配器,将仿真器连接到主机,因此您需要将“虚拟networking适配器”的地址提供给“主机文件”,而不是“主机”的“物理networking适配器”的IP地址。

    这是它在networking上的外观

     Computer Emulator 192.168.0.115 mask: 255.255.255.0 192.168.6.1<-------------------------->192.168.6.2 mask: 255.255.255.0 

    所以对于模拟器,192.168.0.115不存在

    所以在hosts文件中,当你的web浏览器正在监听每个可能的本地地址(例如0.0.0.0:80)或者相应地改变子网掩码时,给出地址192.168.6.1(或者你的虚拟networking适配器地址是什么)。 我认为前者是一个很好的解决scheme。