[Android Studio] intel-based MacOS 无法执行模拟器(AVD has terminated)

解决方式:

  1. 不要升级 MacOS 到 10.15 以上
  2. 更换到 windows-based 开发环境
  3. 更换到新的 M1-based(arm-based) MacOS 开发环境
  4. 使用实际的 Android 手机验证 App

update: 目前看起来 Android Studio Team 有尝试在改用 HVF,但我使用了他们建议的各种方式都还没成功。

TL;DR
因为年前接了个案子,要重拾荒废接近一年的 Android App 开发,於是我更新了很久没更新的 Android Studio 准备要来复习相关的东西的时候,赫然发现原本惯用模拟器先测试 App 的方式会直接出现 "AVD <Some_settings> has terminated"。而且不管怎麽修都修不好。

後来怀疑是跟 Intel HAXM 没更新到新版有关,但是一点进去 SDK tools 要更新却发现: 完全无法更新

花费不少时间,然後接下来在这个 HAXM Installation Fails on Mac 找到答案:

Thanks for your feedback. Currently, HAXM only supports macOS up to 10.14. Since macOS Catalina 10.15, macOS does not support kernel extension any more. It only support new system extensions instead. You may consider to use HVF on macOS instead. Thanks.

Apple does not prohibit other hypervisors on macOS Catalina, just because kernel extensions were deprecated. HVF is just an available hypervisor that I know so far. Since Apple Catalina 10.15, macOS stopped the kernel extensions support according to this release notes and the notification.

而 Android Studio 在 intel-based MacOS 其实是靠 HAXM 这东西在跑模拟器的,而一但没有办法使用 HAXM 会变成要想办法使用其他的方式,我暂时也找不到方式更动。在时间压力下,我最後放弃在 MacBook 上面开发,改用 Windows 桌机跟实际 Android 手机开发案子。

啊啊,珍贵的执行时间就这样耗费掉了。


<<:  为什麽js中使用了很多的callback方式?

>>:  利用Redlock演算法实现自己的分布式锁

Day20 - 物理模拟篇 - 弹力、引力与磁力IV - 成为Canvas Ninja ~ 理解2D渲染的精髓

磁力/引力模拟 弹力、磁力和引力其实本质上很接近。 之所以说相近,是因为他们都是一种长距离作用力。 ...

30天学习笔记 -day 26-Motion Editor(上篇)

Motion Editor是自 Android Studio 4.0 版本开始为MotionLayo...

Day 20: Informix

Day 20: Informix Prereguisite 环境: SD → QA → VE → O...

Day 30 : 综合整理 MLOps Level 0 ~ 2

MLOps 是值得持续投入的新兴学门,如同 Day 01 谈到的此系列目的,谈如何从布署机械学习至...

Day 29 - 浅谈测试 - 令人安心的保护网

前言 前两天我们讨论了 Clean Code 跟 The Clean Coder,这两本书都要提到一...