最后我自己解决了问题...
问题的原因是系统分区损坏。
我进入我的 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选项,它就不会被加载,而只读系统图像,它存储在一个不同的地方,而是加载。
当然,当模拟器需要创建一个新的可写系统分区时(如本例所示),它会从该只读系统映像中复制它。