ita*_*ill 8 qemu kubuntu android-studio
我的 Kubuntu 17.10 上有以下消息 - 我用谷歌搜索了该消息,但不幸的是,命中对我来说太技术性了,无法找到解决方案:
Emulator: qemu-system-i386: warning: TSC frequency mismatch between VM
(2394456 kHz) and host (2394457 kHz), and TSC scaling unavailable
Run Code Online (Sandbox Code Playgroud)
在第一次发布时,这方面一切正常,所以我不知道是什么导致了这个问题以及如何解决它。
小智 11
由于某些更新,我遇到了同样的问题,我从Android Studio(工具->AVD 管理器)打开了我的Android 虚拟设备管理器,然后匹配了出现问题的模拟器。我点击下拉菜单图标,从操作栏,并选择清除数据选项。
我通过一种解决方法得到了解决方案!
tl;dr 版本:-use-system-libs
带有模拟器的选项是一种临时解决方法。
更长的版本:
谷歌搜索TSC 频率不匹配没有给出可能导致问题的想法。禁用硬件加速是一种可能的解决方法,但结果是模拟缓慢。我给了它一些休息,但后来我认为这应该是与内核相关的问题,因为似乎是 KVM 导致了这个问题。我尝试禁用英特尔微码驱动程序(无帮助)和内核更新(无帮助),但在后者之后,至少我得到的神秘错误消息少了一些,例如:
21:31 Emulator: libGL error: unable to load driver: i965_dri.so
21:31 Emulator: libGL error: driver pointer missing
21:31 Emulator: libGL error: failed to load driver: i965
21:31 Emulator: libGL error: unable to load driver: i965_dri.so
21:31 Emulator: libGL error: driver pointer missing
21:31 Emulator: libGL error: failed to load driver: i965
21:31 Emulator: libGL error: unable to load driver: swrast_dri.so
21:31 Emulator: libGL error: failed to load driver: swrast
21:31 Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
21:31 Emulator: Major opcode of failed request: 155 (GLX)
21:31 Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
21:31 Emulator: Value in failed request: 0x0
21:31 Emulator: Serial number of failed request: 64
21:31 Emulator: Current serial number in output stream: 65
21:31 Emulator: Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
所以这一定是驱动的问题!谷歌搜索第一条错误消息给了我这个命中, -use-system-libs
与模拟器一起使用。它现在工作了!但是,如何使其永久化?该页面还为我指明了正确的方向:使用包装脚本来启动模拟器。现在一切都像一个魅力。
所以,一步一步的解决方案:
/home/$user/Android/Sdk/emulator/emulator -list-avds
找到您的 AVD-s - 名称可能与 Android Studio 中的名称不同。找到您遇到问题的 AVD 的名称。请注意,根据您在 AStudio 安装期间指定的路径,模拟器路径也可能有所不同。/home/$user/Android/Sdk/emulator/emulator -avd your_emulator_name_here -use-system-libs
如果 (2) 适合您,请重命名原始模拟器文件并从 shell 脚本启动它以启动永久选项标志(您的路径和文本编辑器可能不同):
$ cd /home/$user/Android/Sdk/emulator/
$ mv emulator emulator.0
$ touch emulator
$ chmod +x emulator
$ kate emulator
插入以下内容并保存:
#!/bin/sh
set -ex
$0.0 $@ -use-system-libs
Run Code Online (Sandbox Code Playgroud)
现在,每次调用模拟器时,都是通过名为emulator的 shell 脚本使用系统库完成的,从现在起它应该不会出错。
归档时间: |
|
查看次数: |
9753 次 |
最近记录: |