正在忽略模拟器中主机文件中的URL映射

Nav*_*nth 11 android localhost hosts android-emulator genymotion

我正在使用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发出请求时,它不会重定向到LAN 192.168.0.115中的本地计算机.我甚至使用cat/etc/hosts检查了hosts文件,它有我的映射,任何人都可以帮我解决这个问题.

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

Rag*_*hav 7

对我来说,主机文件末尾是 CR LF 字符。您复制到 Android 模拟器的主机文件应该具有 Unix 换行符。

您可以通过 NotePadd++ 设置和检测它。

在NotePadd ++中打开主机文件并选择“编辑>> EOL COnversion>> Unix(LF)”

在此输入图像描述

您可以通过“查看>>显示符号>>显示行尾”来确认行尾

在此输入图像描述

这将显示 LF 字符

在此输入图像描述

要验证主机文件是否正常工作,您可以转到 adb shell 并 ping 域。

在此输入图像描述


小智 6

我有同样的问题.以下解决了它:

  • 确保在hosts文件的最后一个条目之后有一个空行
  • 如果在hosts文件中使用选项卡,请用空格替换它们

重启Android,然后重试:

adb reboot
Run Code Online (Sandbox Code Playgroud)