AVD 模拟器被杀 - Mac

2024-02-14

我花了一整天的时间尝试了在 stackoverflow 上的多个问题和数十个谷歌结果中找到的所有方法(简短摘要):

  • 重新启动电脑
  • 删除并重新创建 AVD
  • 将 AVD 图形更改为软件(在 AVD 管理器中和直接在文件中)
  • 在 SDK 管理器中重新安装模拟器(所有可能的方式 - 更新、删除和重新安装、启动 AVD 时按需重新安装)
  • 重新安装 HAXM
  • 重新安装Android Studio
  • 在SDK管理器中查看所有Android版本
  • 从命令行启动 AVD(此方法对于本文很重要)
  • 可能还有更多
  • ...这一切都以不同的顺序和组合多次

然后我在(this https://www.youtube.com/watch?v=AOK9ZxiBOGg)YouTube 上的视频:


I managed to fix the issue after looking for it for 5 hours. There is no error message when I tried to run from the android studio. However, running the emulator the terminal will print the error message and this will help a lot. Run from terminal: /Users/hendrysetiadi/Library/Android/sdk/emulator/emulator emulator -avd Pixel_4_API_29 My error message is like below: emulator: Android emulator version 30.5.0.0 (build_id 7145572) (CL:N/A) dyld: Library not loaded: /System/Library/Frameworks/IOUSBHost.framework/Versions/A/IOUSBHost Referenced from: /Users/hendrysetiadi/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64 Reason: image not found Abort trap: 6 I managed to get the IOUSBHost.framework from my friend laptop and then upload it to google drive (in zip format) I follow the steps in here https://apple.stackexchange.com/questions/300222/accidentally-deleted-a-system-framework-macos-screwed The steps are - restart mac and command+R to show recovery option, choose safari icon to launch safari in recovery mode - In safari, open the google drive link I have uploaded earlier, then download the zip file directly into /System/Library/Frameworks/ (it will automatically unzip) - restart the laptop. - Done

这与我使用命令行方法得到的错误完全相同。

问题是,我确实可以访问另一台运行 OSX 的计算机 - 在我的例子中是 Mojave。但我不知道操作系统版本是否那么重要。

我的问题是:“是否有人有能力并愿意提供该文件IOUSBHost.framework在发现/系统/库/框架/来自 OSX(最好是 Mojave)并在此处发布链接?”最好是 zip 格式,但我可以自己管理。

我将立即测试该方法,如果它有效,我将自己托管该文件(以保持可用性并释放海报的资源)并在此处创建解决方案答案。

谢谢


EDIT:

更新到 Android Emulator 30.5.4.0 后,不再需要该框架。谷歌可能已经解决了这个问题。


经过进一步研究并感谢这里的评论,特别是回答Don Pato https://stackoverflow.com/users/2864517/don-pato很明显,在 Android 模拟器更新到版本 30.5.3.0 后,由于缺少框架,它开始在 OSX Mojave 及更早版本上显示给定错误。

对于这种情况有 2 个明显的解决方案 + 这个:

  1. 更新操作系统
  2. 降级 Android 模拟器(以及 Android studio 本身)
  3. 这个解决方案

第一个解决方案可能由于某些其他软件兼容性而无法实现,而第二个解决方案可能不切实际,因为较旧的模拟器能够运行 Android API 29 max。

感谢原作者(亨德利·塞蒂亚迪 https://www.youtube.com/channel/UC98HsE7zrR0vULyLNemZb4g)提到的 Youtube 评论谁提供了所需的文件(他是这里的英雄),这个问题可以通过避免前面的 2 个选项来解决。我不得不稍微改变他的步骤,因为由于“磁盘空间不足”错误,我无法在恢复模式下直接在 Safari 中下载文件。

解决过程:

  1. 从以下链接下载缺少的框架:https://www.dropbox.com/s/i9bzzw5sr0s7e81/IOUSBHost.framework.zip?dl=0 https://www.dropbox.com/s/i9bzzw5sr0s7e81/IOUSBHost.framework.zip?dl=0
  2. Unizp
  3. 现在需要获取文件IOUSBHost.framework to /系统/库/框架这是系统只读目录。谁知道怎么做,就可以停止阅读并直接去做。我是通过以下步骤完成的 - 其中一些可能是不必要的。
  4. 使用 Cmd+R 重新启动以恢复,并在实用程序启动终端中禁用系统完整性保护csrutil disable
  5. 重新启动系统并通过输入终端将系统安装为可写状态sudo mount -uw /
  6. 现在你可以复制文件 - 我是在 Finder 中完成的(需要 mac 用户密码)
  7. 不要忘记在恢复过程中再次打开 SIPcsrutil enable

开始你的AVD吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVD 模拟器被杀 - Mac 的相关文章

随机推荐