小编Par*_*ash的帖子

如何在 Android 模拟器 API 30 (Android R) 上编辑主机文件

我正在尝试使用 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)

这里重新安装成功,但我需要重新启动设备。所有这些重新启动方式都会导致设备处于离线状态并黑屏:

  1. adb reboot
  2. 长按电源按钮手动重新启动模拟器
  3. 在 adb 命令提示符中,按 Ctrl + C 停止模拟器并重新启动: emulator -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)

然后它仍然说

错误,无法写入只读文件系统。

我已经尝试过这些链接和解决方案但没有成功:

如何在Nougat中运行的Android Studio模拟器中编辑/etc/hosts文件? …

android hosts-file adb android-virtual-device android-emulator

8
推荐指数
0
解决办法
1080
查看次数