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

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


我已经检查了以下类似的Q / A:



如何更改“主机”文件以重定向URL? ->答案中的链接已损坏

编辑/ etc / hosts的指南->找不到编辑主机文件的方法。


评论

如果您尝试进行Web开发,则可能不需要编辑/ etc / hosts文件,则可以在Chrome中使用远程调试。

#1 楼

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

因此,获取/安装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(否则可能会错过vinslookup之类的东西)。好吧,您仍然可以尝试使用adb pull / adb push

adb remount无法正常工作很常见,这是一种解决方法。



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




评论


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

–itslittlejohn
15年10月23日在20:35

在我的情况下,既没有su也没有vi命令:S6 edge

– albanx
2015年11月9日,9:50

当然,电话必须首先植根(实际上,任何Linux必须“植根”才能编辑/ etc中的文件)。我建议使用Chainfire应用程序SuperSU及其busybox-它会同时提供su和vi。问题“如何使我的手机开机”不在此处讨论范围。

– jno
2015年11月9日15:18



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

–奥列格·纽米瓦金(Oleg Neumyvakin)
16年11月7日15:35

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

– jno
16年9月9日13:12



#2 楼

注意:为了编辑主机文件,您的设备应该已植树

您可以使用ES File Explorer或任何具有root访问权限的File Explorer来编辑etc / hosts文件。

OR

检查此方法

#3 楼

需要根

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

评论


您想如何将文件复制到android上的该位置?

–穆萨·海达里(Musa Haidari)
16 Mar 27 '16 at 13:21