我正在尝试通过AVD使Android Studio和关联的模拟器在Archlinux下工作。
我刚刚安装了android-studio,android-sdk以及Android Studio所需的所有依赖项。当我尝试启动新创建的仿真器(无特定设置)时,这是我收到的错误消息:
17:25 * daemon not running; starting now at tcp:5037
17:25 Emulator: Couldn't statvfs() path: No such file or directory
17:25 * daemon started successfully
17:25 Emulator: Warning: libpng warning: iCCP: known incorrect sRGB profile ((null):0, (null))
17:25 Emulator: Warning: libpng warning: iCCP: known incorrect sRGB profile ((null):0, (null))
17:25 Emulator: qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
17:25 Emulator: qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
17:25 Emulator: qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
17:25 Emulator: qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
17:25 Emulator: Warning: QObject::moveToThread: Current thread (0x593c240) is not the object's thread (0x5a7d800).
17:25 Emulator: Cannot move to target thread (0x593c240)
17:25 Emulator: ((null):0, (null))
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15000 ms
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 CPU1 thread'. No response for 15000 ms
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 CPU2 thread'. No response for 15000 ms
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 CPU3 thread'. No response for 15000 ms
17:30 Emulator: emulator: ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms
17:30 Emulator: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
我已经重新安装了两次。我也检查了这个主题,但没有成功。我不了解这些消息中的大多数,因此我有点迷茫。我尝试使用以下命令从命令行启动模拟器
/opt/android-sdk/emulator/emulator -avd Android_Wear_Round_API_P,它给我相同的结果。
我很高兴对可能出现的问题有所了解。
编辑
如果相关,请安装以下元素:
EDIT2
我尝试运行的仿真器类型适用于WearOS。作为测试,我尝试创建一个Android Nexus。当图形设置为"软件"时,它将起作用。不幸的是,我无法为WearOS设备更改此选项。因此,它一直崩溃。有时,它甚至完全崩溃了我的系统。屏幕冻结,我必须手动重置计算机。
打开更新管理器,并检查是否在语音" SDK工具"下安装了" Android仿真器"
Ive在最近更新Android Studio时也遇到了此问题。 Ive深入研究了仿真器的运行方式,发现该仿真器本身位于$ HOME / Android / Sdk / emulator中,而图像存储在$ HOME / .android / avd中。可能与t statvfs() path: No such file or directory有关吗?我不记得较旧的模拟器版本的目录布局是什么。
使用strace时,我发现该消息是有关.android / avd / .avd / snapshots / default_foot下缺少ram.img的。
尝试使用软件图形运行模拟器。这对我有帮助。
我遇到了与您类似的问题,但我认为您在描述一个更为严重的问题。我正在运行Manjaro linux,我刚刚接受了提供的模拟器升级到28.0.20版本。升级后,模拟器一直崩溃,并出现分段错误。切换到软件GL使我可以启动模拟器。进入设置后,可以进行一些配置,使您可以返回到硬件打开的GL,我可能还摆弄了其他一些东西,例如冷启动和计算机重新启动,但是所有这些再次神奇地工作了。此问题感觉就像是模拟器代码升级导致的设置迁移问题
stackoverflow.com/a/49125288/5771509
检查您的视频卡驱动程序。由于我有GTX 970,因此我遇到了同样的问题,并安装了最新的Linux nvidia驱动程序(nvidia-390)。
https://www.mvps.net/docs/install-nvidia-drivers-ubuntu-18-04-lts-bionic-beaver-linux/
我在Ubuntu 18.04上遇到了这个问题,并通过以下完全解决了该问题:
通过以下方式更新NVidia驱动程序:
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
删除我的AVD
重新启动
创建一个新的AVD
您可能可以跳过第2步,而只是创建一个要使用的新AVD,但是我的旧仿真器没有任何特殊要求,因此我将它们全部删除了,因为有时仿真器问题会影响所有以前创建的仿真器。因此,与尝试记住那些过时的产品相比,我感觉最好制作新鲜的产品。
在重新启动之前,我还采取了以下相关步骤,这些步骤可能无法直接解决问题,但仍然值得一提:
更新了我的环境(在我的情况下通过.zshrc),以使用$ANDROID_SDK_ROOT而不是$ANDROID_HOME(已弃用)。
根据这篇文章,将"新"仿真器位置($ANDROID_SDK_ROOT/emulator/)放在"旧"位置($ANDROID_SDK_ROOT/tools/)之前。
在Ubuntu 18.10上将我的nvidia驱动程序更新为nvidia-390之后,我遇到了同样的问题。我删除了AVD,重新启动了PC,然后重新创建了AVD。此步骤解决了该问题。