Linux 下的模拟器硬件加速

Posted lbsjs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下的模拟器硬件加速相关的知识,希望对你有一定的参考价值。

Intel 提供了一个叫HAXM 的虚拟硬件加速技术,全称为:Intel Hardware Accelerated Execution Manager.

只要你的 CPU 是 intel 的产品并且支持 VT(virtualization Technology)就可以使用 HAXM 技术将你的模拟器的速度提升至真机的水平。目前此技术支持苹果的 Mac 系统和 Windows 系统,但 Linux 平台不在此列。

技术分享

要知道 android 的编译环境 Google 首推 Linux 平台(64位的Ubuntu)而 Mac 系统排到第二位。那么在 Linux 平台下是如何硬件加速的呢?

那就是传说中的 kvm(Kernel-based Virtual Machine),同样的,它需要硬件的支持,比如 intel 的 VT 和 AMD 的 V,它是基于硬件的完全虚拟化。

首先要确定你的 cpu 满足要求,下面有几个命令可以参考:

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

打印的值不为0即可。

下面安装 kvm:

    $ sudo apt-get install qemu-kvm
    $ sudo adduser linc kvm
    $ sudo apt-get install libvirt-bin ubuntu-vm-builder  bridge-utils
    $ sudo adduser linc libvirtd

检验安装是否成功:

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

一切顺利,接下来要创建 x86或 x86_64的模拟器,其他模拟器不支持。如下图:

技术分享

用命令行启动此模拟器:

    $ /opt/sdk/tools/emulator -avd Nexus5API21 -qemu -m 2047 -enable-kvm

技术分享

使用起来果然飞快,连打开网页的速度都令人惊奇。当然了,如果不用命令行启动,直接在 Android Studio 中启动 x86_64架构的模拟器,速度也是很快,唯独 arm 架构的模拟器启动速度奇慢无比。话又说回来,既然有了比较不错的 cpu,那么机器的其他配置一定差不了,这样的配置跑起模拟器来肯定要比原来强。

模拟器顺手了,下面就尽情享受开发的乐趣吧。

如果觉得用自带的模拟器不能够满足你的要求,那么可以使用第三方的模拟器 Genymotion,网传开发者反应良好。

参考:

http://www.mobibrw.com/?p=291

以上是关于Linux 下的模拟器硬件加速的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Linux 的硬件加速视频处理工具

如何理解Linux下的负载均衡?

Linux常用命令

前端技能树,面试复习—— 模拟题+真题系列: 树摇的原理 | GPU 硬件加速原理 | 副作用 | 性能监控 | 无缝轮播原理等

前端技能树,面试复习—— 模拟题+真题系列: 树摇的原理 | GPU 硬件加速原理 | 副作用 | 性能监控 | 无缝轮播原理等

PhotoView大图绘制——硬件加速限制