带有 ARM CPU M1 的 macOS 上的 Android Studio/Emulator

Posted

技术标签:

【中文标题】带有 ARM CPU M1 的 macOS 上的 Android Studio/Emulator【英文标题】:Android Studio/Emulator on macOS with ARM CPU M1 【发布时间】:2021-03-02 13:14:53 【问题描述】:

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

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

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

即使是 ARM 镜像也有这个问题

我使用了最新的,一个非常旧的 api25(谷歌必须在这里做点什么),但是速度慢得令人难以置信

如何让模拟器快速运行?

【问题讨论】:

现在您将无法运行模拟器,因为它使用英特尔 HAXM,而后者又使用英特尔 VT-x,而 Rosetta 不支持虚拟化。修复必须来自 Android 团队,才能使其与 M1 虚拟化方式一起使用。 :( 没错,我也开了一张 Google 票 issuetracker.google.com/issues/173624439 好的,我了解 x86 但为什么它也适用于 ARM 图像? 无论是 Intel 还是 ARM 映像,您都需要虚拟化,因为它充当主机操作系统之上的客户操作系统。与不使用 Parallels 或 VMWare 就无法在运行的 x86 macOS 或 x86 Windows 上运行 x86 Linux 映像的原因相同! 关于仿真与虚拟化的好读物 -- cloudsavvyit.com/7952/… @masterwok api25 在我的机器上也是全黑的 【参考方案1】:

好消息!

2021 年 7 月 28 日编辑 ? ?

Apple 芯片支持

Android Studio 北极狐 (2020.3.1) 有一个 arm64 发布版本可用 你可以在这里下载它https://developer.android.com/studio#downloads

使用 arm64-v8a 映像!

工具 -> SDK 管理器 安装 Android 11 (R) 或 12.0 (S) 并点击应用 工具 -> AVD 管理器 -> 点击创建虚拟设备 选择任何具有“播放”按钮的设备,然后单击“下一步” 在“其他图像”选项卡上选择 arm64-v8a

当NDK遇到Unknown host CPU architecture: arm64你可以解决here

kaptdoesn't work已解决https://***.com/a/68285501/1079990

测试结束!谢谢

2021 年 5 月编辑 ? ?

Apple 芯片支持

Android Studio Arctic Fox (2020.3.1) Canary 15 ... RC01 有一个 arm64 版本可用 你可以在这里下载它https://developer.android.com/studio/archive

2021 年 2 月 4 日编辑

现在音频输入和输出可以正常工作https://github.com/741g/android-emulator-m1-preview/issues/10#issuecomment-773532762

【讨论】:

感谢您的回答。我已经订购了一个 MBA,只是想知道它是否会产生足够的负担来加热和限制它.. 我找到了一种在 CPU 使用率为 100% 的情况下长时间听到呼吸机的方法:只需在本地构建一个拉取请求 github.com/hannesa2/mediapipe/pull/7 在正常的 Android Studio 使用情况下,最多 50 个 CPU 负载跨度> 新的!但这是开启它的唯一任务 对。同时在 Android Studio 5 应用中打开,同步并构建它,使用不超过 50% 这意味着瓶颈在其他地方 @Philip 我只在 x86 变体中看到它。你使用正确的 arm64 java 吗?您可以在 Gradle 设置中的首选项中选择它【参考方案2】:

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

【讨论】:

从 2021 年 7 月 28 日开始。请看我的回答 ***.com/a/65176867/1079990 @hannesach - 很抱歉,您的答案链接到非生产版本【参考方案3】:

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

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

我设置了adb环境变量跟随this answer 之后,当我运行 adb 时,我收到错误 zsh: bad CPU type in executable 然后我通过softwareupdate --install-rosetta 修复它(关注this answer) 重启终端,然后adb 命令正常运行 重新启动 AndroidStudio,然后它可以看到应用程序并将其运行到模拟器

【讨论】:

【参考方案4】:

这解决了我的问题

工具 -> SDK 管理器 -> SDK 工具(选项卡) -> 取消选择“Android 模拟器” -> 好的

现在,当您尝试运行应用程序或从 AVD 管理器启动设备时,它会给出“安装模拟器”错误 -> 单击确定。这将自动下载正确的版本。

【讨论】:

简单高效! 这对我的 M1 Mac 来说是必不可少的 在 M1 上对我不起作用。【参考方案5】:

在 M1 上运行 Android APP 的步骤

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

假设您已经设置了环境变量。

    下载 Android Studio 北极狐 (2020.3.1) Link (我个人得到了我能做到的最后一天2021 年 9 月 1 日

    安装并打开 Android Studio

    工具 -> SDK 管理器

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

    ...等到下载完成

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

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

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

    最后一步点击下一步完成

你现在应该准备好了。

【讨论】:

未知错误,考虑在 x86 主机上使用 x86 系统映像以获得更好的仿真性能。【参考方案6】:

这适用于我的 Android Studio 2020.3.1:

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

那你就可以走了!

到目前为止,我的模拟器的性能没有任何问题。

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

【讨论】:

【参考方案7】:

在我发布此回复时,Android Studio 北极狐 |在 MacBook Pro M1 上使用 Java 进行 Android 开发方面,2020.3.1 非常缓慢且滞后。

每次我输入一些东西时,尤其是当我输入一个点 (.) 时,至少需要 10 秒才能响应,这使得开发仅在技术上可行。

【讨论】:

当你同时使用 x86 和 aarch64 Gradle 时,由于分离的内存使用量很大,系统将开始交换。然后我的系统也有点慢。 ./gradlew --stop 在这里帮助【参考方案8】:

对我来说,只有在删除 Intel x86 Emulator Accelerator(HAXM 安装程序)后,我才能在带有 ARM CPU M1 的 MacBook Pro MacOS Big Sur 上仅在 Android Studio Arctic Fox(2020.3.1 Beta03 及更高版本)上运行模拟器

【讨论】:

Apple Silicon 上绝对不需要 HAXM。 -从不-【参考方案9】:

目前尚不清楚谷歌究竟遇到了什么问题,他们仍然无法发布 M1 版本。大约一年前,我得到了 DTK M1。我认为谷歌甚至更早地得到了它。是的,仿真存在问题,但 IDE 中的其他所有内容肯定都可以完成。

至少一个孤独的人做到了没有太多麻烦。有粗糙,但工作的速度是天壤之别。在 M1 上使用常规的 Android Studio 几乎是不可能的,即使使用这种精致的业余爱好者,一切都像灯光一样飞驰。

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

这是 Android Studio 北极狐的非官方金丝雀版本,在 Apple Silicon 上带有模拟器。我正在使用它,它在大多数情况下都能正常工作。

【讨论】:

你读过我的回答***.com/a/65176867/1079990 吗?包含一个指向 aarch64 Beta4 的链接。一切为了M1 是的,终于。 :)【参考方案10】:

按照这家伙讲的步骤,效果不错:https://medium.com/mobile-app-development-publication/my-journey-to-setup-android-emulator-for-m1-macbook-pro-b8365321b3e7

转到 AVD 管理器 点击“+创建虚拟设备” 选择设备定义(例如“Pixel 4a XL”) 点击“下一步” 点击“其他图片” 下载“S”系统镜像 点击“下一步” 点击“完成”

【讨论】:

我也跟着这个,但后来我陷入了“等待设备上线..”错误。基本上,我的模拟器工作,我可以运行我的 Gradle 构建,但我的应用程序本身永远不会在模拟器上运行。 300 秒后,Android Studio 超时提示找不到设备,add devices 显示我的模拟器处于离线状态。你有没有发生过类似的事情? 我遇到了同样的错误。【参考方案11】:

现在可以使用了

Apple 芯片支持

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

Click here to Download

【讨论】:

【参考方案12】:

您现在可以下载 Android Studio Canary。您可以在其中运行 android 模拟器,而不受 android 模拟器 m1 预览的任何限制。在 android 模拟器 m1 预览中,webview、设备皮肤、声音等存在问题。现在你不必担心

这是链接

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

【讨论】:

是的,但更新后它对我停止工作。与此同时,我做了github.com/741g/android-emulator-m1-preview/issues/…,现在我可以再次无缝使用它 哦,但它对我来说工作正常。以前使用 android 模拟器 m1 预览时,我遇到了 webview 和声音的问题。但现在这个 Android Studio Canary 版本对我来说一切都解决了

以上是关于带有 ARM CPU M1 的 macOS 上的 Android Studio/Emulator的主要内容,如果未能解决你的问题,请参考以下文章

MacOs (M1 Arm64) 无法加载 Nokogiri - 使用系统默认 Ruby

MacOS(M1芯片 arm架构)下如何安装tensorflow

Xdebug MacOS Big Sur M1(ARM)

记录MacOS M1芯片(ARM64架构)使用docker-compose方式部署Kafka

软件及环境-arm系列

M1 mac 上的 Android 平台工具