adb: error: Read-only file system when trying to push hosts file

adb: error: Read-only file system when trying to push hosts file

我尝试将更新后的主机文件推送到我使用 Android Studio 创建的 android 设备中。

我遵循以下步骤:

~/Library/Android/sdk/platform-tools/adb devices
~/Library/Android/sdk/platform-tools/adb -s emulator-5554 remount
~/Library/Android/sdk/platform-tools/adb -s emulator-5554 pull /system/etc/hosts ~/Desktop/
~/Library/Android/sdk/platform-tools/adb -s emulator-5554 push ~/Desktop/hosts /system/etc/hosts

在最后一个命令之后,我得到这个错误: "adb: error: failed to copy '~/Desktop/hosts' to '/system/etc/hosts': Read-only file system"

大约 2 个月前,我尝试了相同的步骤,但没有出现任何错误。它工作正常。

我还应该做什么?

问题已解决。 我删除了虚拟设备并设置了一个新设备。

每次都创建新的虚拟设备不是最实用的选择。自 2018 年 3 月起,您可以按照以下步骤操作,您应该能够修改 android hosts 文件:

然后打开终端:

android list avd

现在复制您要使用的 AVD 的 Name。比如我的AVD的名字是Nexus_4_API_19.

emulator -avd Nexus_4_API_19 -writable-system

打开一个新终端window并且:

adb remount
adb pull /system/etc/hosts /Users/{username}/Documents/

编辑主机文件,添加一个指向您的主机的条目。示例:

192.168.0.31            mywebsite.com

然后

adb push /Users/{username}/Documents/hosts /system/etc