android系统上修改hosts文件

首先需要root。android系统的root,可以参考之前的博文: http://www.thinkingquest.net/articles/33.html。

安装busybox。这样就有了vim等常用工具。

此时还不能修改hosts文件,即使用adb shell登陆到手机android系统,su命令切换到root用户后,仍然不能编辑/etc/hosts文件。 因为/system是mount为readonly的。可以这样查看结果:

root@android:/ # mount | grep system
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0

重新mount为rw模式,输入命令:

mount -o rw,remount /system

再次查看:

root@android:/ # mount | grep system
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 rw,relatime,barrier=1,data=ordered 0 0

已经是rw模式。这样就可以编辑/etc/hosts文件了。 对于android软件开发过程中的调试,时常会有意义。

 

2013年5月24日edit:

有的系统版本上,上述的mount命令会报告错误。 那么可能需要这么写:

mount -o remount /dev/block/mtdblock0 /system

其中的mtdblock0,不同的机型是不同的。可以先无参数的mount命令看一下,原本mount到/system的是哪个设备。

 

(全文完)