上次更新 a​​rm64-v8a 后,模拟器在 M1 Mac 上脱机

时间:2021-04-23 12:44:18

标签: android android-studio android-emulator apple-m1 avd-manager

昨天模拟器运行良好。系统映像是 arm64-v8a。我不太记得工作系统映像的发行版名称,但昨天我接受了 ARM 64 系统映像的更新,发行版名称为“S”。

我可以从我的 AVD 管理器启动模拟器,当我按下“运行应用程序”按钮时,模拟器也会启动,但是,应用程序没有加载到模拟器上,如果我通过“adb devices”检查,模拟器显示为离线或者如果我点击“设备连接疑难解答”,它会显示:

“emulator-5554 - 设备当前处于离线状态”

我已经尝试了 StackOverflow 上的大部分建议,例如:

  • adb kill-server, adb start-server

  • 删除并重新创建 AVD 设备

  • 使缓存无效/重新启动

  • 在模拟器内启用 USB 调试

  • 从 AVD 管理器擦除数据和冷启动

    我使用的是 Android Studio 4.1.3

    Build #AI-201.8743.12.41.7199119,建于2021年3月10日 运行时版本:1.8.0_242-release-1644-b3-6915495 x86_64 VM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM macOS 10.16 GC:ParNew、ConcurrentMarkSweep 内存:1981M 核心数:8 注册表:ide.new.welcome.screen.force=true, external.system.auto.import.disabled=true 非捆绑插件:org.jetbrains.kotlin

AVD:

Name: Pixel_4_API_S
CPU/ABI: Google Play ARM (arm64-v8a)
Path: ~/.android/avd/Pixel_4_API_S.avd
Target: google_apis_playstore [Google Play] (API level S)
Skin: pixel_4
SD Card: 512M
fastboot.chosenSnapshotFile: 
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: pixel_4
hw.lcd.width: 1080
image.androidVersion.codename: S
hw.initialOrientation: Portrait
image.androidVersion.api: 29
tag.id: google_apis_playstore
hw.mainKeys: no
hw.camera.front: emulated
avd.ini.displayname: Pixel 4 API S
hw.gpu.mode: auto
hw.ramSize: 1536
PlayStore.enabled: true
fastboot.forceColdBoot: no
hw.cpu.ncore: 4
hw.keyboard: yes
hw.sensors.proximity: yes
hw.dPad: no
hw.lcd.height: 2280
vm.heapSize: 256
skin.dynamic: yes
hw.device.manufacturer: Google
hw.gps: yes
hw.audioInput: yes
image.sysdir.1: system-images/android-S/google_apis_playstore/arm64-v8a/
showDeviceFrame: yes
hw.camera.back: virtualscene
AvdId: Pixel_4_API_S
hw.lcd.density: 440
hw.arc: false
hw.device.hash2: MD5:6b5943207fe196d842659d2e43022e20
fastboot.forceChosenSnapshotBoot: no
fastboot.forceFastBoot: yes
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google Play
runtime.network.latency: none
disk.dataPartition.size: 6442450944
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes

知道出了什么问题吗?或者如何解决这个问题?

3 个答案:

答案 0 :(得分:55)

将您下载的 avd 系统映像替换为 r02 映像。 r03 对我来说坏了,但恢复到 r02 挽救了这一天!

Google Play ARM 64 v8a System Image (revision: 2)

Google APIs ARM 64 v8a System Image (revision: 2)

在 macOS 上使用最新的 android (4.1.3),您想要放置解压缩图像的目录可能类似于 ~/Library/Android/sdk/system-images/android-S

例如,google play 图片的路径是 ~/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a

答案 1 :(得分:3)

我遇到了类似的问题,不确定你是否解决了它,但我在寻找解决方案时遇到了这篇文章,但上述解决方案对我不起作用。

我发现的一个解决方案是安装 android-emulator-m1-preview from google,然后启动它,而不是从 Android Studio 内部启动模拟器。原来要解决的问题是如此简单,这几乎令人讨厌。

在尝试不同的解决方案 12 多个小时后看到构建成功真是太好了。

答案 2 :(得分:2)

AndrewPK 的回答真的很有帮助。
如果你不使用 api level S,你可以试试这个 (我的api级别是“31”)

1.下载自 https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-S_r02-darwin.zip

2.新建一个如下图的文件夹,将下载的文件解压后放入
enter image description here 路径:/Users/$user_name/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a

  1. 启动 Android Studio 并点击配置> AVD 管理器

  2. 点击创建虚拟设备...,选择任意设备,点击下一步按钮并确认已添加 API 级别 S。

  3. 将其添加到您的设备并验证它是否适用于 VS Code
    enter image description here

就是这样,我花了三个小时> <