我正在尝试使用 API 30 - Android R 在 Android 模拟器上编辑主机文件。我已成功完成重新安装,但它说
重新挂载成功。重新启动设备以使更改生效
我陷入了这一步,因为无论我以何种方式重新启动模拟器,它都会进入
设备离线
并且只显示黑屏。仅当我恢复出厂设置时它才会恢复,但模拟器文件系统再次变为只读,并且我无法编辑主机文件。
我尝试的解决方案如下:
第一步很常见。在 adb 命令提示符中:
cd [...\Android\android-sdk\emulator directory]
emulator -avd [EMULATORNAME] -writable-system
Run Code Online (Sandbox Code Playgroud)
然后在系统命令提示符下,
cd [...\Android\android-sdk\platform-tools directory]
Run Code Online (Sandbox Code Playgroud)
方法一:
adb root
adb remount
Run Code Online (Sandbox Code Playgroud)
这里重新安装成功,但我需要重新启动设备。所有这些重新启动方式都会导致设备处于离线状态并黑屏:
adb rebootemulator -avd [EMULATORNAME] -writable-system如果我忽略重新启动并尝试编辑主机文件,推送新的文件,如下所示:
adb push hosts /system/etc
Run Code Online (Sandbox Code Playgroud)
然后我得到
错误,无法写入只读文件系统。
方法二:
adb shell
su
mount -o remount,rw /sys
Run Code Online (Sandbox Code Playgroud)
这不会给出错误或成功消息。然后,如果我尝试任何写入操作,例如:
adb push hosts /system/etc
Run Code Online (Sandbox Code Playgroud)
或者
cat hosts
10.1.3.5 bla.blabla.com >> hosts
Run Code Online (Sandbox Code Playgroud)
然后它仍然说
错误,无法写入只读文件系统。
我已经尝试过这些链接和解决方案但没有成功:
android hosts-file adb android-virtual-device android-emulator