如何编辑“ etc / hosts”文件?


39

我在Android 4.4上使用Nexus 5。奇巧。我想编辑/etc/hosts文件并添加重定向映射,以阻止少量广告。

我需要知道如何访问/修改/替换/etc/hosts文件。


我已经在下面类似的问答中进行了检查:


1
如果您要进行网络开发,则可能不需要编辑/ etc / hosts文件,则可以将远程调试与Chrome配合使用。
Flimm

Answers:


43

这实际上是答案和我自己的经验的汇总。

因此,获取/安装ADB的副本,然后键入

adb devices -l # make sure your gadget is listed
adb shell # run a shell there
su # become the root (don't miss confirmation request!)
mount -o rw,remount /system # allow to write
vi /system/etc/hosts ## edit the file in place - do what you whant, then <ESC>:wq ##
mount -o ro,remount /system # get things back to normal
exit # unroot
nslookup YourBlockedAdSite.Net # check if it works
exit # good bye

你完成了。

  • 后面的内容#是注释,可能会从您的输入中删除。如果您不粘贴它们,那么它也应该足够安全。
  • 假设您在设备上具有root用户访问权限(或su无法使用)。实际上,如果您没有root用户,则将无法编辑该文件。
  • 假设您已经安装了busybox(否则可能会错过诸如vi和之类的东西nslookup)。好了,您仍然可以尝试与adb pull/ 一起玩adb push
  • adb remount失败很常见,这是一种解决方法。

    • 注意:su在外壳中 运行时,可能会在小工具上要求进行确认!

6
如果设备没有植根,这行得通吗?
itslittlejohn

2
我都没有使用su或vi命令:S6 edge
albanx

2
当然,电话必须首先植根(/etc实际上,任何Linux都必须“植根”才能编辑中的文件)。我建议使用Chainfire应用程序SuperSU及其busybox-它会给您suvi。问题“如何使我的手机开机”不在本文讨论范围之内。
jno 2015年

1
旧的好回声救了我:回声“ 1.2.3.4 domain.tld” >> / system / etc / hosts
Oleg Neumyvakin

仅在必须添加一行时,echo才是好的。或替换整个文件。如果进行任何更高级的编辑,则必须使用vi / sed / awk / you-name-it工具。
jno


0

需要根

使用FTPServer应用通过PC / Mac浏览文件。只需复制即可/system/etc/hosts在PC上对其进行编辑,然后将hosts文件复制并粘贴到手机上的同一词典中。


您想如何将文件复制到android上的该位置?
Musa Haidari'Mar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.