在Ubuntu中使用安卓模拟器

这篇文章介绍如何在Ubuntu中使用安卓模拟器。
在Ubuntu中运行android程序并非易事,因为大部分移动设备上运行的android程序都是基于Arm架构的芯片开发的,而在家用的台式机上我们通常使用的是x86的芯片。为了解决这一个问题,两种方案,一个是使用Android Studio提供的Android模拟器,选择arm架构,模拟器就能够运行arm架构下的app。但是这种方法运行的模拟器速度非常缓慢,Android Studio会提示x86架构模拟器速度会是arm的10x以上。为了解决应用兼容性的问题,Intel公司开发了houdini技术。Houdini是intel 研发的ARM binary translator,用于解决当前android部分native应用库兼容跑在x86架构上的技术,它的原理在于把ARM的二进制代码转译为X86指令集,使得可以在X86的CPU上执行。

安装Genymotion

由于Android Studio以及那一套SDK工具用起来十分繁琐,而我没有Android开发的需求,只是想单纯的运行android程序,因此我在这里选择了Genymotion。Genymotion是一个x86的安卓模拟器软件,个人版可以注册账号免费试用。
安装Genymotion需要机器安装有Virtualbox,安装好之后运行Genymotion,在Genymotion中创建一个虚拟的设备,期间会下载所用到的系统镜像,等候片刻。
运行虚拟设备,如之前所说,此时只能安装很少量的x86 app。

解决兼容性问题

下载对应操作系统版本的Arm Translation文件,Android 5.1点这里 , Android 6.0点这里
将文件直接拖进模拟器,在模拟器中会弹出对话框,点击Yes,OK之后重启虚拟机即可。

安装app

在Genymotion的安装路径下找到tools文件夹,运行tools/adb install "your_apk_file_path",即可完成程序的安装。

模拟触屏操作

很多软件中会用到多点触屏、滑动、甚至摇杆操作。只使用鼠标单机显然是无法完成这些操作的。Game Controller 2 Touch Pro这款软件可以用于解决这样的问题。
Game Controller 2 Touch Pro操作手册