Kub*_*r82 4 android-virtual-device android-emulator android-studio avd-manager
我曾经使用以下命令启动 Android Studio 模拟器
emulator -avd "mydevice" -writable-system
Run Code Online (Sandbox Code Playgroud)
但突然之间,只有当我删除该-writable-system选项时它才有效,否则它会卡在启动徽标上。
为什么这个选项会改变启动的结果?
我怎样才能理解发生了什么,以便解决这个问题并使该-writable-system选项再次起作用?
在最坏的情况下,有没有办法在不删除用户数据的情况下重置系统映像?
Kub*_*r82 11
最后我自己解决了这个问题...
问题的原因是系统分区损坏。
我进入我的 AVD 文件夹并将系统映像文件重命名system.img.qcow2为BACKUP_system.img.qcow2(我也可以删除它,但你永远不知道)。
然后,一旦我使用 option 运行模拟器-writable-system,由于它无法再找到系统映像文件,因此它创建了一个新文件,现在可以再次在系统分区上写入。
这也让我避免了删除用户数据分区,因此我保存了数据,就像什么都没有发生过一样。
没有该选项它仍然可以工作的原因-writable-system:
当我删除该文件时system.img.qcow2,最初我尝试在没有. -writable-system再次,它起作用了......并且没有生成新的系统映像文件。
我试图对此进行调查,并在运行时:
emulator -help-disk-images
Run Code Online (Sandbox Code Playgroud)
我注意到它说:
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.
Run Code Online (Sandbox Code Playgroud)
-writable-system这就是为什么尽管系统映像文件已损坏,模拟器在没有该选项的情况下仍然可以工作的原因。这是因为这是一个可写的映像文件-writable-system,因此如果不使用该选项,则不会加载它,而是加载存储在不同位置的只读系统映像。
当然,当模拟器需要创建新的可写系统分区时(如本例),它会从只读系统映像中复制它。
| 归档时间: |
|
| 查看次数: |
1679 次 |
| 最近记录: |