在更新到Android Studio 2后,当我试图运行我的应用程序并选择一个模拟器时,我等待模拟器启动,它突然被杀死。我可以看到模拟器进程几分钟,但从来没有GUI。在Android studio中,我得到了错误
android studio Error while waiting for the device: The emulator process for AVD was killed
即使我在Android Studio之外运行模拟器也会发生这种情况。我试用了Android 6和基于Android 4.4的模拟器。
在Windows 7 x64 PC上运行。类似于另一个StackOverflow帖子被关闭。我尝试了各种ram、VM堆和分辨率设置。
我最近在我的Mac 10.14.6 Mojave上遇到了这个问题,错误与gokhhan -arik https://stackoverflow.com/a/66422209/15311922中的一个答案中的错误完全相同。
在他的案例中,他通过更新到11.2.1 Big Sur解决了这个问题。
我的解决方法不同。
从终端运行:
/Users/<username>/Library/Android/sdk/emulator/emulator emulator -avd <Pixel_4_API_29> .
我的错误信息:
dyld: Library not loaded: /System/Library/Frameworks/IOUSBHost.framework/Versions/A/IOUSBHost
Referenced from: /Users/<username>/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64
Reason: image not found
Abort trap: 6
我设法从我朋友的笔记本电脑上获得IOUSBHost.framework,然后将其上传到谷歌驱动器(zip格式),然后执行以下步骤:
重启mac并命令+R显示恢复选项,选择Safari图标以恢复模式启动Safari
在safari中,打开我之前上传的谷歌驱动器链接,然后直接将zip文件下载到/System/Library/Frameworks/(它会自动解压缩)
重启笔记本电脑。
现在,你可以使用模拟器无需更新到大苏尔。
这里是IOUSBHost.framework.zip。使用它的风险由你自己承担。https://drive.google.com/file/d/1ZP6rfMf-iW3j8iOGQC52zIHZcs4Haid1/view?usp=sharing
这个错误非常普遍,这种症状可能是由于一百万个完全不同的问题中的任何一个造成的。
你要做的是找到更多关于正在发生的事情的信息,这样你就不会看起来像一只瞎鸡在啄食令人作呕的石头。
因此,让我们得到调试步骤:
first thing is to find the logs of Android studio. In doubt, stackoverflow already has a section to help you How to find the logs on android studio?. The text file should be named: "idea.log". You can open it with notepad, but only open it after android studio is closed (in windows 10).
There will be a lot of events inside. Search by "manager.EmulatorProcessHandler" and the last date that you had the error. A good trick to facilitate your life, after having found the log file, is to close Android studio: delete the log file; reopen android studio and retry to open the emulator. The log file will be recreated with a lot less history and so it will be so much easier to search.
In my case, i found: manager.EmulatorProcessHandler - Emulator: emulator: ERROR: Another emulator instance is running. Please close it or run all emulators with -read-only flag.. Given that, it is easy to solve. I just had to open a process manager and terminate the emu process that didn't correctly close for some unknown reason.
Of course, in our case the log will be completely different. But now you have a clue of the hidden criminal.