使用ARM CPU M1的macOS上的Android Studio/Emulator错误:CPU does not support VT-x

回答 18 浏览 19万 2020-11-19

我在 macOS Big Sure 11.0.1 中使用新的 ARM cpu M1 启动了 Android Studio 4.1

安装 Rosetta 后:是的,它会构建!

但是模拟器有问题,显示我CPU不支持VT-x

即使是ARM图片也有这个问题 在此输入图片描述

我使用了最新的、非常老的api25(谷歌必须在这里做一些事情),但它的速度越来越慢。

如何使仿真器工作并快速工作?

hannes ach 提问于2020-11-19
现在你将无法运行模拟器,因为它使用英特尔HAXM,而这又使用英特尔VT-x,Rosetta不支持虚拟化。修复方法必须来自安卓团队,以使其与M1的虚拟化方式一起工作。Siddharth Kamaria 2020-11-19
确切地说,我也开了一张谷歌票issuetracker.google.com/issues/173624439 好吧,我明白X86的情况,但为什么ARM的图像也是这样?hannes ach 2020-11-19
不管是英特尔还是ARM图像,你都需要虚拟化,因为它在主机操作系统上充当了一个客户操作系统。同样的道理,如果不使用Parallels或VMWare,你就不能在运行中的x86 macOS或x86 Windows上运行x86 Linux映像!Siddharth Kamaria 2020-11-19
@masterwok api25在我的机器上也是全黑的。hannes ach 2021-11-05
@masterwok API 24对我来说也是全黑的。WatashiJ 2022-01-28
18 个回答
#1楼 已采纳
得票数 240

好消息 !

于2021年7月28日编辑 🎉 🌈

苹果公司的硅支持

现在,arm64 发布版本可用于 Android Studio Arctic Fox (2020.3.1) 你可以从这里下载 https://developer.android.com/studio#downloads

轻松解决使用正确的架构的问题

工具 -> SDK管理器 -> SDK工具(选项卡) -> 取消选择 "安卓模拟器" -> OK

现在,当你试图运行你的应用程序,或从AVD管理器启动设备时,它将给出 "安装模拟器 "的错误 -> 点击 "OK"。这将自动下载正确的版本。

使用arm64-v8a的图像!

  • 工具 -> SDK 管理器
  • 安装安卓11(R)或12.0(S)并点击应用
  • 工具->AVD管理器->点击创建虚拟设备
  • 选择任何带有 Google Play 商店 图标的设备,然后点击下一步
  • 在"其他图片"选项卡上选择arm64-v8a。

Android studio

hannes ach 提问于2020-12-07
hannes ach 修改于2022-08-24
谢谢你的回答。我已经订购了一台MBA,只是想知道加热和节流是否足够费力。Alexander Suraphel 2020-12-29
我找到了一种方法,可以在CPU使用率为100%的情况下长时间听到通风器的声音:只要在本地建立一个这个拉动请求github.com/hannesa2/mediapipe/pull/7 在正常的Android studio使用下,CPU负载最多为50。hannes ach 2020-12-29
在新版本中!但这是唯一能开启它的任务hannes ach 2020-12-30
没错。在Android Studio中同时打开5个应用程序,同步并构建它,使用不超过50%,这意味着瓶颈在其他地方。hannes ach 2020-12-30
@Philip 我只在x86变体中看到它。你使用正确的arm64 java吗?你可以在Gradle设置的首选项中选择它。hannes ach 2021-08-27
#2楼
得票数 57

这就解决了我的问题

工具 -> SDK管理器 -> SDK工具(选项卡) -> 取消选择 "安卓模拟器" -> OK

现在,当你试图运行你的应用程序,或从AVD管理器启动设备时,它将给出 "安装模拟器 "的错误 -> 点击 "OK"。这将自动下载正确的版本。

Dipanker Shah 提问于2021-10-27
这在我的M1苹果机上是必不可少的。Pete 2021-12-15
对我来说,在M1上没有作用。Bogdan Razvan 2022-01-17
这一定是正确的解决方案。因为大多数开发人员面临的问题是将AN从Mac(inter)转移到M1 ......谢谢你的提议。Maher Abuthraa 2022-06-22
这解决了我的M1 mac上的问题。谢谢!Alan 2022-07-13
解决了我在M1 mac上的问题。谢谢你!"。molundb 2022-09-14
#3楼
得票数 10

我的新Macbook Pro M1 Pro(Macbook Pro 2021 14英寸M1 Pro)遇到了这个问题。经过一番调查,问题的根源在于我从使用英特尔的旧Mac(使用Time Machine)转移了我的所有数据(另一台Mac是Macbook Pro 2011 13英寸英特尔),所以除了很多应用程序不能运行或运行缓慢,我不得不重新安装它们的ARM版本之外,Android SDK工具也被转移了。

因此,这里是解决方案的简单步骤。

  1. 启动安卓工作室
  2. 选择SDK管理器在此输入图片描述
  3. 进入SDK工具标签在此输入图片描述
  4. 取消所有包裹,并记住它们,因为你将在下一步骤中重新选择它们
  5. 您将看到一个类似这样的对话框,选择Apply。这样,现在您已经卸载了旧软件包 在此处输入图片描述
  6. 重新选择所有软件包(重新安装其ARM版本),并点击应用,这可能需要一些时间,取决于你的网速,因为你正在重新安装所有的软件包。
  7. 现在尝试启动模拟器,如果问题没有得到解决,尝试完全重启Android Studio或你的笔记本电脑,我的问题在没有重启的情况下也得到了解决。
Adnan 提问于2022-03-25
Adnan 修改于2022-05-19
哦,我的上帝,非常感谢你,我找了几个小时才找到解决办法。在将数据从我的intel mac转移到m1 mac上的过程中,我遇到了完全相同的情况。谢谢你的伟大的解决方案!Moritz 2022-03-31
@Moritz 这真是太棒了,很高兴我的努力没有白费。Adnan 2022-04-01
这个方法非常好用!从intel mac迁移到使用时间机器的M1,有同样的问题。Adham Nm 2022-05-19
#4楼
得票数 9

我按照这家伙所说的步骤进行操作,并取得了不错的效果:https://medium.com/mobile-app-development-publication/my-journey-to-setup-android-emulator-for-m1-macbook-pro -b8365321b3e7

  • 转到AVD管理器
  • 点击"+创建虚拟设备"。
  • 选择一个设备定义(例如:"Pixel 4a XL")。
  • 点击"下一步"。
  • 点击"其他图像"。
  • 下载"S"系统图像
  • 点击"下一步"。
  • 点击"Finish"。
Flavia Cohen 提问于2021-06-09
我也是这么做的,但后来我卡在了"等待设备上线"的错误上。基本上,我的模拟器可以工作,而且我可以运行我的Gradle构建,但我的应用程序本身从未在模拟器上运行。300秒后,Android studio就会说它找不到设备,并且add devices显示我的模拟器处于离线状态。你是否有类似的情况发生?Tarun Sharma 2021-11-12
我也遇到了同样的错误。Rajshekhar 2021-11-12
我可以看到像'S''R'这样的系统图像名称,这些'S''R'是什么意思呢?ximmyxiao 2022-07-02
#5楼
得票数 8

如果一切都失败了,可以试试这个。

On Android Studio uncheck emulator -> tools -> Launch in a tool window

enter image description here

从这个官方问题线程(由jeanlst)得到了这个消息。

https://github.com/google/android-emulator-m1-preview/issues/76#issuecomment-1023563846

Renato Probst 提问于2022-01-30
事实上,这解决了我的问题。为了清楚起见,我不得不取消勾选这个框,以使我的仿真器在装有苹果M1 Max芯片的MacBook上重新运行。AZOM 2022-02-01
#6楼
得票数 7

Steps to run your Android APP on M1

终于,我的安卓APP在我的M1芯片上正常运行了!

我的安卓APP在我的M1芯片上正常运行了。

这假定你已经设置了你的环境变量。

  1. 下载 Android Studio Arctic Fox (2020.3.1) 链接 (我个人得到了我能做到的最后一天2021 年 9 月 1 日

  2. 安装并打开Android Studio

  3. 工具 ->SDK管理器

  4. 勾选Android 12.0 (S)并点击应用

    ...等到下载完毕

  5. 工具 -> AVD 管理器 -> 点击创建虚拟设备

  6. 选择任何有播放按钮的设备并点击下一步

  7. 选择图片S。如果您在推荐标签中找不到它,请点击其他图片

  8. 最后一步点击下一步完成

你现在应该已经准备好了。

crg 提问于2021-09-07
未知错误,考虑在x86主机上使用x86系统映像,以获得更好的仿真性能。Ahmed Eid 2021-09-09
#7楼
得票数 3

你现在可以下载Android Studio Canary。在其中,你可以运行安卓模拟器,没有任何安卓模拟器M1预览版的限制。在安卓模拟器M1预览版中,有网络视图、设备皮肤、声音等问题。现在你不必担心这些问题。

这里有一个链接

https://developer.android.com/studio/preview?gclid=CjwKCAjwm7mEBhBsEiwA_of-TKIWfjv-MVe5W1Za_KcooZ-vfZ3vG_IkUyK40E-x10JLRRgnGjBCDBoCMOgQAvD_BwE&gclsrc=aw.ds

Sabiq Thottoly 提问于2021-05-02
是的,但在更新后,它对我来说停止工作。在此期间,我做了github.com/741g/android-emulator-m1-preview/issues/…,现在我又能无缝使用它了。hannes ach 2021-05-02
哦,但它对我来说工作正常。以前使用安卓模拟器M1预览版时,我遇到了webview和声音的问题。但现在,在这个Android Studio Canary版本中,我的问题都解决了。Sabiq Thottoly 2021-05-03
#8楼
得票数 3

1.首先,使用以下命令将 android studio 从你的 Mac 系统中彻底删除:

rm -Rf /Applications/Android\ Studio.app  
rm -Rf ~/Library/Preferences/AndroidStudio*  
rm -Rf ~/Library/Preferences/com.google.android.*  
rm -Rf ~/Library/Preferences/com.android.*  
rm -Rf ~/Library/Application\ Support/AndroidStudio*  
rm -Rf ~/Library/Logs/AndroidStudio*  
rm -Rf ~/Library/Caches/AndroidStudio*  
rm -Rf ~/.AndroidStudio*  
rm -Rf ~/.gradle  
rm -Rf ~/.android  
rm -Rf ~/Library/Android*  
rm -Rf /usr/local/var/lib/android-sdk/

要删除所有的项目。

rm -Rf ~/AndroidStudioProjects 

2.使用下面的链接下载新的Android studio:

https://developer.android.com/studio#downloads:~:text=android%2Dstudio%2D2021.2.1.15%2Dmac_arm.dmg

3.现在安装该软件,使用 arm 版本创建一个模拟器并打开该模拟器。

Vikas Awate 提问于2022-06-09
#9楼
得票数 2

在我为 Mac M1 安装最新的AndroidStudioPreview 之后,它已经包含了一个带有arm64-v8a ABI 的默认模拟器。 但是,这个模拟器仍然没有被AndroidStudio加载

当我尝试从终端运行adb 时,它显示adb: command not found。所以我配置了adb

  • 我按照这个答案设置了adb环境变量
  • 之后,当我运行 adb 时,我收到错误 zsh: bad CPU type in executable
  • 然后我通过softwareupdate --install-rosetta 修复它(关注 this answer
  • 重新启动终端,然后adb命令工作顺利
  • 重新启动AndroidStudio,然后它能够看到并运行应用程序到模拟器上。
Linh 提问于2021-12-20
#10楼
得票数 1

现在有了。

苹果硅片支持

Android Studio Arctic Fox Canary 15 包含对 Apple Silicon (arm64) 的初步支持。此平台的 Android Studio 版本仍在积极开发中,但我们希望向应用程序开发者社区提供功能版本以获取反馈。在 Intellij 构建之上,设计工具可以工作,Android 模拟器可以与 API 30 和 API S 开发者预览模拟器系统映像一起使用。

点击这里下载

Prasath 提问于2021-05-31
#11楼
得票数 1

对我来说,只有在删除Intel x86模拟器加速器(HAXM安装程序)之后,我才能在我的MacBook Pro MacOS Big Sur与ARM CPU M1上运行模拟器,在Android Studio Arctic Fox(2020.3.1 Beta03及以后的版本)上运行模拟器。

Валентин Фалин 提问于2021-07-14
Валентин Фалин 修改于2021-07-14
你绝对不需要在苹果硅上使用HAXM。-从来没有hannes ach 2021-07-14
#12楼
得票数 1

这对我来说,在Android Studio 2020.3.1中是可行的。

  1. 工具->AVD管理器->点击创建虚拟设备
  2. 选择任何一种具有 Play 商店的硬件,例如像素 4
  3. 点击Other Images标签,下载并选择S API Level
  4. 点击 "下一步 "并完成

那么你就可以走了!

到目前为止,我的仿真器的性能没有任何问题,这很好。

来源/作者:https://medium.com/mobile-app-development-publication/my-journey-to-setup-android-emulator-for-m1-macbook-pro-b8365321b3e7

Jiyeh 提问于2021-09-07
#13楼
得票数 0

目前还不清楚谷歌到底遇到了什么问题,以至于他们仍然没有办法发布M1版本。我差不多一年前就拿到了DTK M1。我认为谷歌得到它甚至更早。是的,在仿真方面有问题,但IDE中的其他东西肯定都可以做。

至少一个独行侠做起来没有太多麻烦。有粗糙的地方,但工作的速度是天与地的不同。在M1上用普通的安卓工作室工作几乎是不可能的,即使有了这个完善的业余爱好者,一切都像灯光一样飞快。

这里有一个链接:https://github.com/dsa28s/android-studio-apple-m1

这是一个非官方的金丝雀版本的Android Studio Arctic Fox与苹果硅上的仿真器。我正在使用它,它在大多数情况下运行良好。

Dzmitry Sotnikov 提问于2021-06-18
你看了我的回答stackoverflow.com/a/65176867/1079990吗?其中有一个aarch64 Beta4的链接。全部用于M1hannes ach 2021-06-18
是的,最后。 :)Dzmitry Sotnikov 2021-07-13
#14楼
得票数 0

Android Studio现在有一个正式的生产版本,支持ARM芯片。2020.3.1.26

monchisan 提问于2022-01-10
这是自2021年7月28日。请看我的答案stackoverflow.com/a/65176867/1079990hannes ach 2022-01-10
@hannesach - 我很抱歉,但你的答案链接到了一个非生产性的构建中。monchisan 2022-01-10
#15楼
得票数 0

对我来说,所有的解决方案都不起作用。 试过Arctic fox, bumblebee等。唯一起作用的是Dolphin canary版本。当你安装这个版本时,它会给你一个默认的模拟器,但也可以创建一个新的模拟器,没有任何问题。 当然,可能有问题(因为是canary版本)但我很高兴,在这一刻我可以运行一些功能。

Hoon 提问于2022-02-10
#16楼
得票数 0

在模拟器窗口(当所有模拟器标签关闭时)点击"Update"链接并更新开发者工具。

tatiana_c 提问于2022-02-12
#17楼
得票数 0

我最后做了这个Hack,从开发文档https://developer.android.com/studio/emulator_archive手动安装仿真器。

joe 提问于2022-06-03
你安装的是哪种模拟器?kungfuslippers 2022-08-18
#18楼
得票数 0

正如@Dipanker Shah所回答的,取消点击Android模拟器并运行AVD。 之后......android studio会弹出一个警告屏幕并按下确定。 IDE会下载正确的版本。

取消点击安卓仿真器

1

rraayy 提问于2022-08-14
vimuth 修改于2022-08-19
正如目前所写,您的答案尚不清楚。请编辑添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到更多关于如何写好答案的信息。Community 2022-08-18