安卓hosts文件究竟在哪个位置?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 安卓 正文

下面我将分情况详细说明,并提供修改 hosts 文件的方法。

安卓hosts文件位置
(图片来源网络,侵删)

  • Android 7.0 及更高版本 (Nougat, Oreo, Pie, 10, 11, 12, 13, 14 等):

    • 只读位置: /system/etc/hosts
    • 可编辑位置: /data/misc/hosts/hosts (部分系统) 或 /data/adb/hosts (Magisk 环境)
  • Android 6.0 及更低版本 (Marshmallow 及更早):

    • 可编辑位置: /system/etc/hosts

详细说明

Android 7.0 及更高版本

从 Android 7.0 开始,/system 分区被设置为只读,以防止恶意软件修改系统核心文件,你无法直接修改 /system/etc/hosts 文件。

a. 官方方法:使用 ADB 和 Root 权限

这是最标准、最可靠的方法,但需要你的手机已经获取 Root 权限

安卓hosts文件位置
(图片来源网络,侵删)
  1. 准备工作:

    • 手机已 Root。
    • 电脑上安装了 Android SDK Platform Tools (包含 adb.exefastboot.exe)。
    • 在手机上启用“USB调试”模式。
  2. 操作步骤:

    • 第一步:将 hosts 文件复制到可写目录 adb shell 进入命令行,然后执行以下命令,将只读的 hosts 文件复制到 /data/local/tmp 目录(这是一个可写的临时目录)。
      adb shell
      su # 切换到 root 用户,可能会提示授权
      cp /system/etc/hosts /data/local/tmp/hosts
    • 第二步:编辑 hosts 文件 现在你可以使用 adb push 命令,将你编辑好的新 hosts 文件(在电脑上用记事本编辑好)推送到手机,替换掉临时文件。
      # 在电脑的命令行中执行
      # 将电脑上编辑好的 hosts.txt 文件推送到手机的 /data/local/tmp/hosts
      adb push C:\path\to\your\hosts.txt /data/local/tmp/hosts
    • 第三步:将修改后的文件复制回系统 再次进入 adb shell,将修改后的文件复制回原位,由于 /system 是只读的,你需要先重新挂载它为可写模式。
      adb shell
      su
      mount -o rw,remount /system # 重新挂载 /system 分区为可读可写
      cp /data/local/tmp/hosts /system/etc/hosts # 复制回去
      mount -o ro,remount /system # 恢复为只读模式(推荐,但非必须)
    • 第四步:重启手机 修改完成后,重启手机使配置生效。

b. Magisk 用户的方法 (更简单)

如果你使用 Magisk 进行 Root,它会提供一个更简单的机制来修改 hosts 文件。

  • Magisk 官方模块: 你可以安装名为 "Magisk Universal SafetyFix" 或其他专门提供 hosts 功能的模块,这些模块通常会将你的 hosts 文件内容保存在 /data/adb/hosts,并在系统启动时自动将其合并到 /system/etc/hosts
  • 操作流程:
    1. 在 Magisk App 中,找到“模块” (Modules) 部分。
    2. 点击“从存储安装” (Install from storage),选择一个 hosts 模块或下载安装。
    3. 或者,直接手动编辑 /data/adb/hosts 文件(需要 Root 文件管理器,如 Solid Explorer)。
    4. 重启手机即可。

Android 6.0 及更低版本

在这些旧版本中,/system 分区默认是可写的,所以修改起来非常简单。

  1. 准备工作:

    • 手机已 Root。
    • 安装一个支持 Root 权限的文件管理器(如 Root Explorer, Solid Explorer 等)。
  2. 操作步骤:

    • 打开 Root 文件管理器,导航到路径:/system/etc/
    • 找到 hosts 文件。
    • 长按 文件,选择“属性” (Properties) 或“权限” (Permissions)。
    • 将所有者的“读写”权限打开,并取消“只读”选项。
    • 返回,尝试重命名 hosts 文件为 hosts.bak 作为备份。
    • 将你编辑好的新 hosts 文件复制到这个目录,并命名为 hosts
    • 重启手机。

重要注意事项

  1. Root 风险: 修改系统文件需要 Root 权限,这会使你的设备安全性降低,操作不当可能导致系统变砖,请务必谨慎操作。
  2. 文件备份: 在修改任何系统文件之前,务必备份原文件!这是防止出错的最后一道防线。
  3. 专用 App: 对于不想 Root 的用户,可以使用一些不需要 Root 的 App 来实现 hosts 功能,"Hosts Editor""NoRoot Firewall",这些 App 通常通过 VPN 技术在应用层拦截网络请求来实现类似 hosts 的效果,但可能会有性能损耗或兼容性问题。
  4. hosts 文件格式: hosts 文件非常简单,每行一条规则,格式是 IP地址 域名,以 开头的是注释行。
    • 示例:
      # 屏蔽广告网站
      127.0.0.1     ads.example.com
      0.0.0.0       tracker.another-site.com
    • 屏蔽广告: 通常将域名指向 0.0.1 (本地回环地址) 或 0.0.0 (无效地址) 即可。

总结表格

Android 版本 文件位置 修改方式 风险/要求
Android 7.0+ /system/etc/hosts (只读) 使用 ADB + Root 权限挂载修改 需要 Root,操作较复杂
/data/adb/hosts (Magisk) 使用 Magisk 模块或直接编辑 需要 Magisk Root,相对简单
Android 6.0- /system/etc/hosts (可写) 使用 Root 文件管理器直接修改 需要 Root,操作简单
所有版本 N/A 使用无需 Root 的 Hosts App 无需 Root,但可能有性能或兼容问题

希望这个详细的解释能帮助你成功找到并修改安卓的 hosts 文件!

-- 展开阅读全文 --
头像
Skype安卓官方下载在哪?
« 上一篇 前天
影音先锋手机版官方下载在哪找?
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]