链接:https://www.zhihu.com/question/24815978/answer/130805145
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Bluestacks的历史可以追溯到2011年,是最早在PC上实现流畅运行安卓系统的方案。Bluestacks的原理是把Android底层API接口翻译成Windows API,对PC硬件本身没有要求,在硬件兼容性方面有一定的优势。但Bluestacks需要翻译的Android接口数量巨大,很难面面俱到,而且存在软件翻译的开销,在性能和游戏兼容性方面欠佳。
Virtualbox是数据库巨头Oracle旗下的开源项目,通过在Windows内核底层直接插入驱动模块,创建一个完整虚拟的电脑环境运行安卓系统,加上CPU VT硬件加速,性能和兼容性都更好,但是对于电脑CPU有一定要求,超过五年以上的电脑使用起来比较吃力。
国内像靠谱助手、新浪手游助手等一大批手游助手类都是直接基于Bluestacks内核,因为Bluestacks没有公开源代码无法深度定制,只能简单的优化,再包装界面后上市。其他的像海马玩、逍遥安卓、夜神、ITools这类的产品都是基于Virtualbox,能力弱的(如海马玩、ITools)直接采用Oracle发布的Virtualbox商业版,能力强的(如逍遥安卓、夜神)则对Virtualbox源代码深度定制后重新编译来进一步提高性能和兼容性。
每个安卓模拟器有其各自特点,但都不能尽善尽美,用户在选择适合自己的安卓模拟器的时候,需要根据自己的实际情况对不同安卓模拟器进行选择:
1、BlueStacks
印度公司研发。对于国内部分流行游戏兼容性没有及时支持。受制于内核技术,虽然推出时间长,但是游戏兼容性,尤其是性能欠佳。
2、靠谱助手
国内最早(2013年开始)基于Bluestacks内核的安卓模拟器,优化了使用界面。但是靠谱缺少属于自己的内核技术,在兼容性和性能方面需要提升,产品不成熟。
3、海马玩
国内首款基于Oracle Virtualbox商业版的安卓模拟器,2014年底产品推出时与Bluestacks内核的安卓模拟器形成鲜明对比,版本与功能更新速度慢,弹出广告插件多,占用资源明显。
4、逍遥安卓
2015年中推出的基于Virtualbox深度定制的安卓模拟器。业界首创的一键多开是其亮点,国内独家支持安卓5.1.1。版本更新快,需求响应及时。模拟器性能和兼容性均不错,流畅、口碑好。
5、夜神模拟器
另一款基于Virtualbox定制的安卓模拟器,直接集成NOVA桌面是它的一大特色。但多开效率需进行提升。卡顿、延迟、偶发性系统奔溃、不流畅。
Android SDK、
BlueStacks,可在
pc系统和苹果系统运行,著名的
vmware虚拟机和
Virtual Box虚拟机也可以模拟安卓系统,目前这些模拟器软件均可运行在微软公司的
Windows操作系统平台。
google官方的安卓
虚拟机,可用于开发,可以
模拟出一个完整的安卓系统,并在电脑上进行任何手机上可行的操作,可以模拟出任何一款的
安卓系统,并且拥有多种皮肤,屏幕样式可供选择,甚至可以像手机一样连接电脑,被
手机助手检测到。但需要
java虚拟机才能正常运行。
为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:
1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。这样一来 Android 模拟器需要做一些额外的二进制翻译工作。
2. Android 模拟器用的是 QEMU 的全系统模式(full system),也就说它模拟时需要启动整个 GUEST 系统,初始化各种模拟设备。相反的,iOS 和 WP7 的模拟器只是 user-mode 的模拟。
3. 在 Android 模拟器之中还需要跑一个 Dalvik VM,用以执行 Android 应用的 bytecodes。
综上所述,慢的一个主要原因就是虚拟机不是跑在x86上而是模拟的ARM,有没有办法弄个x86的Android呢?
答案是当然有———开源项目Android-x86,这个牛B的开源项目将Android移植到了x86平台,系统运行的时候不再需要模拟成ARM,这样就能直接将Android装在PC或虚拟机上流畅的运行了。
万事俱备,只欠东风了,下面我就来讲一下我使用Android-X86和VirtualBox打造手机开发模拟器的整个流程
1:先下载Android-x86系统镜像文件 http://www.android-x86.org/download
这里要提一点,如果你要下最新的4.0,请下载android-x86-4.0-eeepc-20111209.iso 这个版本,其他的都有bug,开机后会不断的crash,注意是09
2.在VirtualBox上创建虚拟机
操作系统选择Linux,版本选择Linux 2.6
创建虚拟硬盘
选择第一就可 VDI
接下来:
创建好以后就ok了
创建好以后还需要一些配置:
如果希望听到声音,则这样设置:
关键的网卡设置:
设置好以后就可以点启动进行android的安装了
选择install,建议先选第一个进入android系统,如果进去不报错再安装,这样保险一点
Create/Modify partitions
选择 NEW 来建立磁盘
属性请选择Primary
默认即可
选择Bootable
只管打yes就行,虽然s看不到
退出以后就能看到你刚才分的区了,然后把android装到这个区里就可以了
一路yes
选择sd分配sd
然后重启就行了
在设置里把启动顺序调整一下,如果不想费劲,把光驱里的iso路径去了就可以了,因为默认是先从光盘加载的
搞定这些直接点击 开始
选择进入系统
这样你的鼠标就能进入到模拟器中了
模拟器和你真机鼠标切换的快捷键在这里设置
这里我选择了左 ctrl
这样就ok了
但是有朋友可能要问,如果我调试程序,怎么让eclipse自动打包到我们的x86虚拟机上呢?
进入android系统的所有应用里
有了ip就好办了,很多人是不是和我一样想到了adb connect
done,搞定,进到eclipse的DDM里面
这样就可以开发了,速度如飞啊,无论打包还是运行!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/7154.html