在Android下,/etc是link到/system/etc的,我们需要修改/system/etc/hosts来实现。但是这个文件是只读,不能通过shell直接修改。可以通过连接到PC上使用adb来修改。步骤如下:
1、获得root权限:adb root
2、设置/system为可读写:adb remount
3、将hosts文件复制到PC:adb pull /system/etc/hosts <PC机上文件名>
4、修改PC机上文件
5、将PC机上文件复制到手机:adb push <PC机上文件名> /system/etc/hosts
如果要查看是否修改成功,可以在PC上执行adb shell,运行cat /system/etc/hosts;或者在手机上运行cat /system/etc/hosts。
host没有生效的解决方法:
手动配置域名的时候,有可能会失败,原因是由于换行符导致的,Android系统上已经修改的hosts,使它回复到原始状态。即只有127.0.0.1 localhost。然后进入adb shell , 使用 echo -e \\n >> /system/etc/hosts 为hosts文件加入换行符。再次使用 echo 192.168.1.94 >> /system/etc/hosts 。
这样就完整解决了换行问题。