Android 模拟器在 Ubuntu 18.04 上因 SIGSEGV 崩溃

Android Emulator crashes with SIGSEGV on Ubuntu 18.04

Android 工作室版本:

Android Studio 3.1.2

构建 #AI-173.4720617,构建于 2018 年 4 月 14 日

它是从 Ubuntu 的 snap 商店安装的。 我使用 1. Setting Up Android Studio on Ubuntu · uw-it-aca/spacescout-android Wiki 安装了 kvm。 我尝试了 Solve Android Studio AVD issue with Ubuntu distros - cialu.net 的建议,但现在 lib64 文件夹不包含 libstdc++。我能找到的最接近的是 libc++.so.1,我尝试使用

安装它
sudo apt install libc++1

和 link 类似,但它只是让我的电脑卡住了。 我还查看了 link 由 Android emulator segmentation fault's answer 编辑的线程,但它们看起来很旧..

我也试过How to solve Android Studio Emulator: libGL error on Ubuntu systems - cialu.net,但没用。

我尝试 Android Emulator is not starting in Ubuntu's answer, using How to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux - LinuxConfig.org 安装 Nvidia 驱动程序,但仍然无法正常工作。这是 ubuntu-drivers devices:

的输出
== /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001401sv00001043sd0000854Dbc03sc00i00
vendor   : NVIDIA Corporation
model    : GM206 [GeForce GTX 960]
driver   : nvidia-driver-390 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

唯一有效的是 Android virtual device manager crashes with “double free or corruption”'s answer,但我想要硬件加速..

你能帮帮我吗?

经过几天的努力,我终于让它工作了。对我来说,问题是即使 OS 报告已安装 Nvidia 驱动程序,但情况并非如此。检查 "lshw -c video" 显示 "nouveau" 正在使用,无论我是如何安装 Nvidia 的 - 命令行或使用 "Software & Updates" GUI。

我所做的是:

  • 安装 Ubuntu 18.04,没有安装第 3 方图形软件的选项
  • 禁用来自 BI 的安全启动OS。这是阻止安装 Nvidia 驱动程序的关键部分
  • 使用 "sudo apt install nvidia-driver-390"
  • 从命令行安装驱动程序

我将 Android Studio (AS) 的新版本下载到新安装的 Ubuntu 上个月 18 月 04 日。我可以在 AS 中编译我的应用程序,但是当我尝试 运行 它时 emulator (Next_5X_API_27 or Pixel_2_API_24) 模拟器因 SEGV 故障而崩溃。 我尝试了一些我在网上看到的东西,但没有任何帮助。我将 Fedora 25 安装在 space 硬盘,但结果相同。

然后我尝试通过 USB 将我的智能手机连接到计算机并输入 AS。这 当我尝试 运行 我的应用程序并且 AS 将其安装在设备上时,设备出现了 我问 运行 它在那里正确。现在我可以继续我的项目了。

在我的例子中,SIGSEGV 在工作区(虚拟桌面)之间切换时发生,并且似乎是 gnome-shell and/or gjs 中的一个错误,据报道 here on launchpad。如果您受到影响,请给这个错误一些热度。

解决此问题的另一种(简单)方法是按照此处给出的驱动程序安装说明进行操作:https://askubuntu.com/a/1033498

$ ubuntu-drivers devices
$ sudo ubuntu-drivers autoinstall

然后重启,使用:

$ nvidia-smi

确认驱动程序安装正确,输出应该是这样的:

Sun Feb 17 16:28:49 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.77                 Driver Version: 390.77                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P400         Off  | 00000000:09:00.0  On |                  N/A |
| 34%   26C    P0    N/A /  N/A |    199MiB /  1997MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1107      G   /usr/lib/xorg/Xorg                            96MiB |
|    0      2646      G   ...or/qemu/linux-x86_64/qemu-system-x86_64    99MiB |
+-----------------------------------------------------------------------------+