上次更新 arm64-v8a 后,模拟器在 M1 Mac 上脱机
Posted
技术标签:
【中文标题】上次更新 arm64-v8a 后,模拟器在 M1 Mac 上脱机【英文标题】:Emulator appearing offline on M1 Mac after the last update of arm64-v8a 【发布时间】:2021-07-18 21:17:39 【问题描述】:昨天模拟器运行良好。系统映像是 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】:对于 mac M1 用户,只需删除模拟器并添加另一个模拟器。 API 级别 30 对我有用
【讨论】:
【参考方案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】:将您下载的 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 上工作!唯一适合我的解决方案.. 谢谢!【参考方案4】:
我遇到了类似的问题,不知道你是否解决了,但我在寻找解决方案时遇到了这篇文章,上面的解决方案对我不起作用。
我发现的一个解决方案是安装 android-emulator-m1-preview from google,启动它而不是从 Android Studio 中启动模拟器。原来解决的问题多么简单,这几乎令人讨厌。
在尝试不同的解决方案 12 多个小时后看到构建成功真是太好了。
【讨论】:
预览模拟器在相当长一段时间内运行良好,但在最近的 macOS 版本中,我遇到了网络问题。切换到 r02 API 很有帮助。以上是关于上次更新 arm64-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的详解