从Android Studio

时间:2017-01-03 13:11:48

标签: android android-studio ubuntu virtualbox genymotion

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

Genymotion在直接运行时效果很好,但在安装了Genymotion插件的Android Studio中无效。我从Genymotion获得的错误是#34;为了工作,Genymotion要求在您的计算机上安装VirtualBox。您可以从www.virtualbox.org/wiki/Downloads下载最新版本的VirtualBox。"。

当然安装了VirtualBox。甚至尝试将其删除并重新安装(v.5.1)。

3 个答案:

答案 0 :(得分:3)

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:,则LD_LIBRARY_PATH变为LD_LIBRARY_PATH。这导致VBoxManage尝试加载由Genymotion提供的libssl.so,这对于Ubuntu 16.04来说太旧了(因为当LD_LIBRARY_PATH以":#34;结尾时,链接器在当前查找库目录)

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

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

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

答案 1 :(得分:0)

访问Genymotion site后,可能与dkms package有关:

  

确保安装了dkms软件包,并且每次有新的内核更新时它都会编译VirtualBox内核模块。
  为此,请运行 sudo /etc/init.d/vboxdrv status   您应该收到消息 " VirtualBox内核模块(vboxdrv,vboxnetflt,vboxnetadp,vboxpci)已加载"
  如果没有,请通过运行 sudo /etc/init.d/vboxdrv setup 强制VirtualBox内核模块编译   确保您是vboxusers组的成员。
  如果没有,请运行 sudo usermod -a -G vboxusers <login>

可能是由于dkms package未更新而引起的,因此您无法使用Android Studio中的Genymotion,只能直接运行它。

答案 2 :(得分:0)

好吧,这花了我一些宝贵的时间来弄清楚执行此步骤

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