您的位置:首页 > 移动开发 > Android开发

AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速

2017-01-01 17:58 876 查看

AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速

之前一直都是使用genymotion做android虚拟机,速度很快,但是有时候经常会出现莫名其妙的错误,正好现在android自带的模拟器avd提升的很明显,稳定性和速度都有了保证,所以在windows平台上尝试了一下觉得完全能替代genymotion了

但是在ubuntu系统下发现intel的虚拟硬件加速器(HAXM)提示不适用于linux



因此搜索了下找到了解决方法

https://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-emulator

简述下步骤:

首先检查cpu是否支持硬件虚拟化技术,返回0则表示不支持,不为0即可

$ egrep -c '(vmx|svm)' /proc/cpuinfo
4


安装工具cpu-checker

$ sudo apt-get install cpu-checker


然后使用命令检查是否支持kvm,返回如下信息表示支持

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used


若返回如下信息则表示需要到bios中开启vt功能后重启计算机

HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used


安装kvm

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils --fix-missing


将当前用户名添加到kvm libvirtd组

$ sudo adduser "your_user_name" kvm
$ sudo adduser "your_user_name" libvirtd


如果提示没有libvirtd用户组则忽略该用户组,尝试下面命令

$ sudo adduser "your_user_name" libvirt-qemu


检验安装是否成功

$ sudo virsh -c qemu:///system list
Id    Name                           State
----------------------------------------------------


切换显卡驱动为闭源驱动,成功后重启电脑(重要)



然后在avd manager中新建一个x86_64模拟器



用命令行启动此模拟器,avd-name可以在上图位置看到

$ "your_android_sdk_path"/tools/emulator -avd "your_avd_name" -qemu -m 2047 -enable-kvm


也可直接在Android Studio中通过点击按钮启动,速度同样飞快

启动成功



- 若提示libGL error: unable to load driver: i965_dri.so错误的话可以按照如下操作

Verify that you have installed in your system lib64stdc++6

With a 32 bits operating system :

# apt-get install lib64stdc++6


With a 64 bits operating system with multiarch enabled :

# apt-get install lib64stdc++6:i386


Then link the new installed libraries to the android sdk tools path

$ cd ~/Documents/Android/android-sdk-linux/tools/lib64/libstdc++
$ mv libstdc++.so.6 libstdc++.so.6.bak
$ ln -s /usr/lib64/libstdc++.so.6 ~/Documents/Android/android-sdk-linux/tools/lib64/libstdc++


如果你安装了最新的Android Emulator 25.3.0版本的话 libstdc++.so.6目录不在tools文件夹里了 变更为

~/Documents/Android/android-sdk-linux/emulator/lib64/libstdc++


如果重启模拟器卡在黑色android界面的话 删除模拟器重新创建一个就行了

参考:stackoverflow
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐