我在AVD中创建了两个模拟器,一个手机和一个平板电脑,两者都使用相同的x86图像(Jelly Bean,API 16)。两个仿真器都使用768 Mb RAM,HAXM的限制为2 Gb。
单独运行每个模拟器工作正常,但是如果一个模拟器已在运行并且我试图运行第二个模拟器,则同时运行它们会导致错误:
无法在模拟器中启动AVD ... 无法打开system.img:参数无效
这种行为可能是什么原因以及如何解决这个问题?
编辑:我可以在使用不同的系统映像时同时运行两个模拟器(例如,使用API 16和17工作,但使用API 16两次不工作)。
答案 0 :(得分:3)
Recent Emulator版本包含以下代码:
if (!opts->no_snapshot_load || !opts->no_snapshot_save) {
android_op_writable_system = true;
}
这会强制模拟器打开system.img进行写入,即使它不需要写入它。 Windows不允许多次打开文件进行写入(除非您向调用添加特定标志,而模拟器不添加)。 因此,模拟器第二次无法启动的原因是在Windows上它有一个错误:https://code.google.com/p/android/issues/detail?id=224402