从Android Studio运行时,Genymotion找不到VirtualBox
使用Ubuntu 16.04、Android Studio和Genymotion(最新版本) 直接运行时,Genymotion可以完美工作,但在安装了Genymotion插件的Android Studio中无法工作。我从Genymotion得到的错误是“为了工作,Genymotion要求在您的计算机上安装VirtualBox。您可以从www.VirtualBox.org/wiki/Downloads下载最新版本的VirtualBox。” 当然安装了VirtualBox。甚至尝试将其卸下并重新安装(5.1版)。在访问之后,它可能与从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。甚至尝试将其卸下并重新安装
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之前,将
定义为某个随机值,以便Studio.sh定义的LD_LIBRARY_PATH
以“:”结尾LD_LIBRARY_PATH
请注意,这在Android Studio 3.1中已得到修复。好的,我花了一些时间才弄清楚如何执行此步骤
uname-r