从Android Studio运行时,Genymotion找不到VirtualBox

从Android Studio运行时,Genymotion找不到VirtualBox,android,android-studio,ubuntu,virtualbox,genymotion,Android,Android Studio,Ubuntu,Virtualbox,Genymotion,使用Ubuntu 16.04、Android Studio和Genymotion(最新版本) 直接运行时,Genymotion可以完美工作,但在安装了Genymotion插件的Android Studio中无法工作。我从Genymotion得到的错误是“为了工作,Genymotion要求在您的计算机上安装VirtualBox。您可以从www.VirtualBox.org/wiki/Downloads下载最新版本的VirtualBox。” 当然安装了VirtualBox。甚至尝试将其卸下并重新安装

使用Ubuntu 16.04、Android Studio和Genymotion(最新版本)

直接运行时,Genymotion可以完美工作,但在安装了Genymotion插件的Android Studio中无法工作。我从Genymotion得到的错误是“为了工作,Genymotion要求在您的计算机上安装VirtualBox。您可以从www.VirtualBox.org/wiki/Downloads下载最新版本的VirtualBox。”

当然安装了VirtualBox。甚至尝试将其卸下并重新安装(5.1版)。

在访问之后,它可能与
dkms软件包有关:

确保安装了dkms包,并且每次有新的内核更新可用时,它都会编译VirtualBox内核模块。
要执行此操作,请运行sudo/etc/init.d/vboxdrv status

您应该会看到这样一条消息:“VirtualBox内核模块(vboxdrv、vboxnetflt、VboxNetApp、vboxpci)已加载”
如果没有,则通过运行sudo/etc/init.d/vboxdrv setup来强制编译VirtualBox内核模块 还要确保您是vboxusers组的成员。
如果没有,请运行sudousermod-a-gvboxusers


可能是因为dkms软件包未更新,所以您无法从Android Studio使用Genymotion,而只能直接运行它。

Genymotion Android Studio插件存在一个奇怪的问题,导致无法启动设备。这通常通过包含以下错误消息的genymotion.log来体现:

Output command: "/usr/lib/virtualbox/VBoxManage: ./libssl.so.1.0.0: version 'OPENSSL_1.0.2' not found (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4)"
这是因为Android Studio将
LD_LIBRARY_PATH
定义为
/Android/Studio/install/dir/bin:$LD_LIBRARY_PATH
,如果未设置
/Android/Studio/install/dir/bin:
,则该路径将变为
/Android/Studio/install/dir:
。这会导致VBoxManage尝试加载Genymotion提供的libssl.so,它对于Ubuntu 16.04来说太旧了(因为当
LD_LIBRARY_PATH
以“:”结尾时,链接器会在当前目录中查找库)

您可以执行以下操作之一:

  • 编辑studio.sh以停止添加尾随“:”在
    LD\u LIBRARY\u路径的末尾(如果需要,我可以提供更多详细信息)
  • 从Genymotion安装目录中删除libssl.so和libcrypto.so
  • 在启动Android Studio之前,将
    LD_LIBRARY_PATH
    定义为某个随机值,以便Studio.sh定义的
    LD_LIBRARY_PATH
    以“:”结尾

请注意,这在Android Studio 3.1中已得到修复。

好的,我花了一些时间才弄清楚如何执行此步骤

  • 找到您的etc文件夹
  • 将cd转换为init.d
  • 运行virtualbox状态: 如果它告诉您需要安装dkms包。然后在一个新的终端上
  • sudo apt get install linux headers-
    uname-r
  • sudo dpkg重新配置virtualbox dkms 6.输入密码并重新输入
  • 然后重新启动并加载到MOK(您将得到一个蓝屏,要求在重新启动前重新加载到MOK)
  • 嗯 您的机器现在已重新启动
  • 启动终端,转到etc/init.d
  • 运行virtualbox staus
  • 我相信没有错误
  • 在新的终端cd上,使用genymotion将其复制到您的目录中 13.cd进入genymotion
  • 运行/genymotion
  • 恭喜