You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下通过ADB修改Android设备hosts文件失败求助

解决Android生产版无法修改/system/etc/hosts的问题

你的问题核心是生产版Android系统限制了对/system分区的写入权限,且不允许adbd以root身份运行,常规的remount和直接推送方法都无法生效,以下是两个简易解决方法:

方案1:使用无需Root的Hosts代理APP

这是最省心的长期解决方案,不需要折腾ADB命令:

  • 选择支持无Root模式的Hosts管理APP(比如「Hosts Go」「AdAway」的无Root版本),这类APP通过系统VPN机制实现DNS拦截,间接应用自定义Hosts规则,不需要修改/system分区。
  • 操作步骤:
    • 安装APP后,导入你已经修改好的hosts文件
    • 授予APP系统VPN权限,启动服务即可生效

方案2:ADB临时绑定Hosts(重启失效)

如果不想用APP,可通过临时挂载的方式让系统读取你修改的hosts文件,重启后会恢复原文件:

  1. 先把修改好的hosts推送到设备的可写目录:
    adb push Documents/hosts /data/local/tmp/hosts
    
  2. 进入ADB shell,执行绑定命令:
    adb shell
    mount --bind /data/local/tmp/hosts /system/etc/hosts
    
    执行完成后,系统会优先读取你绑定的hosts文件,直到手机重启。

注意:Android 10及以上部分设备可能限制mount --bind操作,此时方案1的APP兼容性更好。

内容的提问来源于stack exchange,提问作者pixis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:39:39