安卓模拟器avd无法读取Snapshot的解决方案

来源:互联网 发布:腾讯大王卡免流软件 编辑:程序博客网 时间:2024/06/05 09:39

今天,在做android开发前,将安卓模拟器avd的路径给改了(在更改前已经建立了多个模拟器):

在系统变量中添加:name:ANDROID_SDK_HOME(注意,这个名字不能改),value:你想修改的路径,比如:E:\Android\local_avd   。然后将C:\Users\用户名 目录下的.android目录剪切至你修改后的路径下面

结果就杯具了大哭,再次启动avd时出现了如下错误:

emulator: ERROR: Unable to load Vm from snapshot. The snapshot has been saved for a different hardware configuration.

然后咱就傻了疑问,没出现过这种状况啊。上网搜了一下,明白了:

首先,为了加快安卓模拟器avd的快速启动,你在配置选项中勾选了Snapshot。可能有童鞋说:废话!没勾选能出现这样的状况吗?别急,听我慢慢道来。在勾选了Snapshot选项后,你又动了模拟器的配置(至少模拟器认为你修改了相关配置),哎,反正我是手贱,动了配置。由此出现了上述错误。

解决问题的方法有很多,网上大部分都是这种方案:

1.找到模拟器配置文件,一般在 用户名目录/.android/avd 下,假如你修改了avd的路径,找到你修改后的路径。然后将对应模拟器配置中的文件snapshots.img和snapshots.img.default-boot.ini删除即可。

但是我不甘心啊,删除文件后重新启动avd,那速度可是超慢的可怜。于是我自己慢慢摸索,终于找到了根本原因所在。以下方法适用于修改了avd路径后导致出现上述错误的情况:

2.依据你修改的avd路径,找到相关模拟器的目录。在目录下有一个

snapshots.img.default-boot.ini

文件,用记事本打开,发现有如下语句:
            (1)hw.sdCard.path = C:\Users\你的用户名\.android\avd\AVD_for_android_2.3.3.avd/sdcard.img
            (2)disk.cachePartition.path = C:\Users\你的用户名\.android\avd\AVD_for_android_2.3.3.avd/cache.img
            (3)disk.dataPartition.path = C:\Users\你的用户名\.android\avd\AVD_for_android_2.3.3.avd/userdata-qemu.img
            (4)disk.snapStorage.path = C:\Users\你的用户名\.android\avd\AVD_for_android_2.3.3.avd/snapshots.img

 然后只需将上述4条语句中的C:\Users\你的用户名 替换为你修改后的路径,比如(1)句,我将其修改为:hw.sdCard.path = E:\Android\local_avd\.android\avd\AVD_for_android_2.3.3.avd/sdcard.img

这样修改后,再次启动avd,不再出现上述错误!嘎嘎!!!大笑大笑大笑

原创粉丝点击