如果使用了 -writable-system,则会出现 Bootloop。

问题描述 投票:0回答:1

我曾经用以下方法启动我的Android Studio模拟器

emulator -avd "mydevice" -writable-system

但突然间,现在只有当我删除了它的 -writable-system 选项,否则就会卡在启动标志上。

为什么这个选项会改变开机的结果?

我怎样才能理解发生了什么事,为了解决这个问题,使 -writable-system 选项再次工作?

在最坏的情况下,有什么方法可以在不清除用户数据的情况下重置系统镜像?

android-studio android-emulator avd avd-manager
1个回答
0
投票

最后我自己解决了这个问题......

问题的原因是一个损坏的系统分区。

我去了我的AVD文件夹,并重命名系统镜像文件。system.img.qcow2 变成 BACKUP_system.img.qcow2 我也可以删除它,但你永远不知道)。

然后,一旦我运行仿真器时,选项 -writable-system,因为找不到系统镜像文件了,然后就创建了一个新的镜像文件,现在又可以在系统分区上写了。

而且这也让我避免了擦除用户数据分区,因此我保存了数据,就像什么坏事都没发生过一样。

为什么在没有使用 -writable-system 选项。

当我删除了 system.img.qcow2 文件,最初我试图运行仿真器。-writable-system. 再次,它的工作... ... 和 没有生成新的系统镜像文件.

我试着调查这个,当运行时,

emulator -help-disk-images

我注意到它说:

If you use a virtual device, its content directory should store
all writable images, and read-only ones will be found from the
corresponding platform/add-on directories.

所以这就是为什么模拟器在没有使用 -writable-system 选项,虽然系统镜像文件被破坏了。这是因为那是一个 可写图像文件,所以,它没有被加载,如果 -writable-system 选项不使用,而 只读 系统映像,它存储在不同的地方,被加载。

当然,当仿真器需要创建一个新的可写系统分区时(就像在这种情况下),它就会从那个只读系统映像中复制出来。

© www.soinside.com 2019 - 2024. All rights reserved.