【问题标题】:Android emulator running extremly slow on ubuntu 17.04 compared to windows 10与 Windows 10 相比,Android 模拟器在 ubuntu 17.04 上运行速度极慢
【发布时间】:2017-04-24 11:23:00
【问题描述】:

我已尝试通过此链接安装 kvm:https://help.ubuntu.com/community/KVM/Installation

但即使尝试了这个,模拟器在软件 GLES 2.0 模式下运行时还是很慢,当我选择硬件 GLES 2.0 作为图形时,我无法启动 avd。它显示启动 avd 几秒钟,然后没有任何反应。我在这里有什么遗漏吗?

【问题讨论】:

  • 选择硬件 GLES 2.0,从控制台 /yoursdkpath/emulator/.emulator -avd youremulatorname -use-system-libs 运行它并告诉我会发生什么。小心替换您的确切 sdk 路径和模拟器名称。
  • @MartinRevert 谢谢!它完美地工作。所以我必须一直通过终端启动它?
  • 不,你没有。我只是试图诊断问题。我会在几分钟后发布解决方案的答案。

标签: android android-studio ubuntu


【解决方案1】:

所以,问题在于 Android SDK 找不到 OpenGL 配置和库。 Google 使用 SDK 分发 OpenGL 库,但在 Ubuntu 中,该配置已损坏,因为找不到 C++ 库,因此我找到的最佳解决方案是指向您在 Ubuntu 上已有的系统库的符号链接。我让您从命令行执行的先前测试强制执行这种情况,但通过接下来的步骤,您可以获得更持久和更舒适的解决方案,允许您直接从 AVD UI 启动任何硬件加速模拟器。

首先,你的系统库在这个 Ubuntu 路径上:

/usr/lib/x86_64-linux-gnu/

如果 /usr/lib/x86_64-linux-gnu/ 中没有 libstdc++.so.6file ,请安装:

sudo apt install libstdc++6

在您的情况下,很明显您已经安装了正确的库,或者模拟器不会从命令行启动,但是我将上一步留给系统上没有安装正确库的人。

所以,现在我们需要告诉 Android SDK 我们需要使用系统库。为此,只需执行以下操作:

如果~/yoursdkpath/emulator/lib64/libstdc++/ 中有libstdc++6 文件,请使用mv libstdc++6 libstdc++6.bak 进行备份。

然后:

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6  ~/yoursdkpath/emulator/lib64/libstdc++/libstdc++.so.6

就是这样,转到 AVD 并启动任何选择了硬件 GLES 2.0 配置的模拟器,它就会工作。

重要提示:Google 会不时更新您的模拟器。如果由于某种原因您注意到在 Google 更新后模拟器停止从 AVD 启动,请重复此步骤,一切都会恢复正常。

【讨论】:

  • 我在 SDK/emulator/lib64 中找不到 libstdc++ 目录我使用的是 ubuntu 20。
  • 你必须自己创建目录。
猜你喜欢
  • 1970-01-01
  • 2017-10-24
  • 2010-12-16
  • 2023-03-25
  • 2018-05-27
  • 2018-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多