我在 AVD 中创建了两个模拟器,一部手机和一部平板电脑,并且都使用相同的 x86 镜像(Jelly Bean、API 16)。两个模拟器均使用 768 Mb RAM,HAXM 的限制为 2 Gb。
单独运行每个模拟器工作正常,但是如果一个模拟器已经在运行并且我正在尝试运行第二个模拟器,同时运行它们会导致错误:
Cannot launch AVD in emulator... Could not open system.img: Invalid argument
此行为的原因可能是什么?我该如何解决此问题?
编辑:当使用不同的系统镜像时,我可以同时运行两个模拟器(例如,使用 API 16 和 17 可以,但使用 API 16 两次则不行)。
最佳答案
最近的模拟器版本有以下代码:
if (!opts->no_snapshot_load || !opts->no_snapshot_save) {
android_op_writable_system = true;
}
这会强制模拟器打开 system.img 进行写入,即使不需要写入。 Windows 不允许多次打开文件进行写入(除非您向调用添加特定标志,而模拟器则不允许)。 所以模拟器第二次启动失败的原因是在Windows上它有一个bug:https://code.google.com/p/android/issues/detail?id=224402
关于android - 运行多个 Android 模拟器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849088/