那天调试网页,必须在手机上看域名映射效果,才一头扎进去研究手机怎么修改host,一开始直接下普通文件管理器去翻系统目录,折腾半小时,文件明明看见了,点保存就报错,怎么都写不进去。

普通文件管理器拿不到系统分区写入权限,再怎么复制hosts到下载文件夹修改,放回原处依旧无效,这一步卡了很久。

手机修改host:安卓root实操

当时手上那台刷了Magisk,直接用带root权限的文件管理器打开路径/system/etc/hosts,先把原文件复制一份存到内部存储做备份,这个动作不能省,一旦改错网络直接异常。打开hosts,拉到文件最末尾,新增一行IP加域名,格式就是IP地址空格域名,写完保存。

保存完还有一步,文件权限要改成644,权限不对的话,系统会无视你写的规则,改完重启手机,打开浏览器访问域名才能生效。

手机修改host:无root替代方案

方案适用范围限制
VPN类hosts工具安卓免root全局流量走代理,部分APP不兼容
WiFi代理安卓、iPhone,仅当前WiFi切移动数据就失效
修改系统hosts安卓root设备需要root,操作失误影响网络
越狱修改hosts旧版iPhone,不推荐越狱失去官方保修,系统稳定性差

试过免root的VPNhost工具,软件会自建本地VPN接管域名解析,不用动系统文件,配置填好IP和域名,开启软件就生效。缺点很明显,只要关掉软件,映射立刻失效,部分银行类APP检测VPN会直接拒绝联网。

iPhone这边原生系统没法直接编辑hosts文件,官方系统锁死了/etc目录,不越狱完全碰不到。不想越狱就只能用WiFi代理,连上同一个无线网络,在WiFi详情里配置代理服务器,电脑上开代理软件管理域名映射,手机走这个代理访问。

换移动数据就失效。

还有个坑,就算修改成功,浏览器有DNS缓存,改完直接打开网页还是旧解析,要么清浏览器缓存,要么开无痕窗口测试,不然你会以为hosts没改成功,反复来回修改文件。

后面那次测试做完,直接删掉了root文件管理器里改好的hosts,把之前备份的原文件替换回去,网络才恢复成平时的状态,一直留自定义hosts,偶尔会出现莫名的网页打不开。

不要再随便动系统hosts,很多人只记得添加映射,忘记备份原始文件,出问题之后很难恢复。