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

Posted

技术标签:

【中文标题】上次更新 a​​rm64-v8a 后,模拟器在 M1 Mac 上脱机【英文标题】:Emulator appearing offline on M1 Mac after the last update of arm64-v8a 【发布时间】:2021-07-17 16:13:48 【问题描述】:

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

我可以从我的 AVD 管理器启动模拟器,当我按下“运行应用程序”按钮时,模拟器也会启动,但是,应用程序没有加载到模拟器上,如果我通过“adb 设备”进行检查,模拟器就会显示脱机或者如果我点击“设备连接故障排除”,它会显示:

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

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

adb kill-server, adb start-server

删除并重新创建 AVD 设备

使缓存无效/重新启动

在模拟器中启用 USB 调试

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

我正在使用 Android Studio 4.1.3

构建 #AI-201.8743.12.41.7199119,构建于 2021 年 3 月 10 日 运行时版本:1.8.0_242-release-1644-b3-6915495 x86_64 虚拟机:JetBrains s.r.o 的 OpenJDK 64 位服务器虚拟机 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

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

【问题讨论】:

我在设置 M1 MBA 后遇到了完全相同的问题。同时运行 Android Studio v 4.1.3 另一个和我们有同样问题的海报 - ***.com/questions/67250716/… 同样的问题 【参考方案1】:

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

更新:似乎 r03、r04 和 r05 在 m1 上都不起作用

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

【讨论】:

@Daniel - 我刚刚查看了 android studio 用于下载最新版本的 URL,并尝试回滚修订号以检查 URL 中是否存在旧图像。当前图像是https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-S_r03-darwin.zip,所以我刚刚测试了在URL 中将r03 滚动到r02 解决了这个问题。谢谢!但是,如果其他人需要这个,我的 arm64-v8a 路径是:/Users/$user_name/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a r04 也坏了。 r06 也坏了。 21/09/2021 在 m1 mac 上工作!唯一适合我的解决方案.. 谢谢!【参考方案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.如下图新建一个文件夹,将下载的文件解压后放入 路径:/users/$user_name/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a

    启动 Android Studio 并点击配置> AVD Manager

    点击create virtual device ...,选择任意设备,点击Next按钮,确认API level S已经添加。

    将其添加到您的设备并验证它是否适用于 VS Code

就是这样,我花了3个小时在这上面>

【讨论】:

非常感谢!他们有时甚至会费心在 Google Android 上进行质量检查吗? 拯救了我的一天。谢谢。【参考方案3】:

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

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

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

【讨论】:

预览模拟器在相当长一段时间内运行良好,但在最近的 macOS 版本中,我遇到了网络问题。切换到 r02 API 很有帮助。【参考方案4】:

对于 mac M1 用户,只需删除模拟器并添加另一个模拟器。 API 级别 30 对我有用

【讨论】:

以上是关于上次更新 a​​rm64-v8a 后,模拟器在 M1 Mac 上脱机的主要内容,如果未能解决你的问题,请参考以下文章

关于android中的armeabiarmeabi-v7aarm64-v8a及x86等

android开发libs下的armeabi、armeabi-v7a、arm64-v8a等及导入so所踩过的坑

为 arm64-v8a 构建 libtensorflow_cc.so 问题

Android中的armeabi、armeabi-v7a、arm64-v8a及x86的详解

arm64-v8a 静态成员模板 undefined reference to

一个UnsatisfiedLinkError错误和它解决办法