让你的模拟器不再卡:VirtualBox安裝 Android-x86 4.0
2013-11-06 11:07
465 查看
为什么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
创建虚拟硬盘
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/ca30ab2e2be4a220fefa69cb5f879c34.png)
选择第一就可 VDI
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/03aff1325beae816281f042228ed6c35.png)
接下来:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/1534121fcc536e5d453431a469d93307.png)
创建好以后就ok了
创建好以后还需要一些配置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/bdc27979afcabe1596d9d2daf5535c95.png)
如果希望听到声音,则这样设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/2503f5b73b8b1e834f9c406628f93ee1.png)
关键的网卡设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/3ddeb9391a95563147352678fa4c2d5f.png)
设置好以后就可以点启动进行android的安装了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/e8ac8ab42d802966768067e29d9217e7.png)
选择install,建议先选第一个进入android系统,如果进去不报错再安装,这样保险一点
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/75257d6fa39c8b4dc3e245e049d7c564.png)
Create/Modify partitions
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/518abb988f7c928bda5569915f243c4c.png)
选择 NEW 来建立磁盘
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/6fbf128476880d264e31be6277c4031a.png)
属性请选择Primary
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/709f4f081ad9e786687141ed94ca5c8e.png)
默认即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/77c4e5a272bd93031d154e17d677acc8.png)
选择Bootable
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/d1e4bd46b8d64cc546983fa2cc52fcec.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/3bb1f173ce31266cd24d1554f429957f.png)
只管打yes就行,虽然s看不到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/65960ebd257934b553d68f0e6d5219b0.png)
退出以后就能看到你刚才分的区了,然后把android装到这个区里就可以了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/e85d7e7b8f9eee8557414f3bcbe30d77.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/c9f0d18e7b0d53b2e3bb1ec4f626776c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/c84a4eb7d452df1021508b3200c0cdac.png)
一路yes
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/2dcf37d3a63bb40747088bbe89fd491a.png)
选择sd分配sd
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/6dee7465a1daf41bf77840cb56f8758a.png)
然后重启就行了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/0f1f0eb2da77f1ad840f6ccab9efc174.png)
在设置里把启动顺序调整一下,如果不想费劲,把光驱里的iso路径去了就可以了,因为默认是先从光盘加载的
搞定这些直接点击 开始
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/93a0f49e7c72f806cac6b70c6a7bc867.png)
选择进入系统
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/9ecafc496c046029334bcdf90c0894eb.png)
这样你的鼠标就能进入到模拟器中了
模拟器和你真机鼠标切换的快捷键在这里设置
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/9bf55fbf7ad48bba9a797cf36ba27453.png)
这里我选择了左 ctrl
这样就ok了
但是有朋友可能要问,如果我调试程序,怎么让eclipse自动打包到我们的x86虚拟机上呢?
进入android系统的所有应用里
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/11c08e6ae10a83056e6e291717d96d70.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/b39528c49523c18b9329702aa85be42f.png)
有了ip就好办了,很多人是不是和我一样想到了adb connect
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/8cb381b2f0e19b2af670336bebe931cc.png)
done,搞定,进到eclipse的DDM里面
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/7ae6dbe2695fd600572b4e4ab7efbbbd.png)
这样就可以开发了,速度如飞啊,无论打包还是运行!
转自:/article/5050744.html
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
创建虚拟硬盘
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/ca30ab2e2be4a220fefa69cb5f879c34.png)
选择第一就可 VDI
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/03aff1325beae816281f042228ed6c35.png)
接下来:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/1534121fcc536e5d453431a469d93307.png)
创建好以后就ok了
创建好以后还需要一些配置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/bdc27979afcabe1596d9d2daf5535c95.png)
如果希望听到声音,则这样设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/2503f5b73b8b1e834f9c406628f93ee1.png)
关键的网卡设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/3ddeb9391a95563147352678fa4c2d5f.png)
设置好以后就可以点启动进行android的安装了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/e8ac8ab42d802966768067e29d9217e7.png)
选择install,建议先选第一个进入android系统,如果进去不报错再安装,这样保险一点
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/75257d6fa39c8b4dc3e245e049d7c564.png)
Create/Modify partitions
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/518abb988f7c928bda5569915f243c4c.png)
选择 NEW 来建立磁盘
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/6fbf128476880d264e31be6277c4031a.png)
属性请选择Primary
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/709f4f081ad9e786687141ed94ca5c8e.png)
默认即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/77c4e5a272bd93031d154e17d677acc8.png)
选择Bootable
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/d1e4bd46b8d64cc546983fa2cc52fcec.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/3bb1f173ce31266cd24d1554f429957f.png)
只管打yes就行,虽然s看不到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/65960ebd257934b553d68f0e6d5219b0.png)
退出以后就能看到你刚才分的区了,然后把android装到这个区里就可以了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/e85d7e7b8f9eee8557414f3bcbe30d77.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/c9f0d18e7b0d53b2e3bb1ec4f626776c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/c84a4eb7d452df1021508b3200c0cdac.png)
一路yes
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/2dcf37d3a63bb40747088bbe89fd491a.png)
选择sd分配sd
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/6dee7465a1daf41bf77840cb56f8758a.png)
然后重启就行了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/0f1f0eb2da77f1ad840f6ccab9efc174.png)
在设置里把启动顺序调整一下,如果不想费劲,把光驱里的iso路径去了就可以了,因为默认是先从光盘加载的
搞定这些直接点击 开始
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/93a0f49e7c72f806cac6b70c6a7bc867.png)
选择进入系统
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/9ecafc496c046029334bcdf90c0894eb.png)
这样你的鼠标就能进入到模拟器中了
模拟器和你真机鼠标切换的快捷键在这里设置
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/30/9bf55fbf7ad48bba9a797cf36ba27453.png)
这里我选择了左 ctrl
这样就ok了
但是有朋友可能要问,如果我调试程序,怎么让eclipse自动打包到我们的x86虚拟机上呢?
进入android系统的所有应用里
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/11c08e6ae10a83056e6e291717d96d70.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/b39528c49523c18b9329702aa85be42f.png)
有了ip就好办了,很多人是不是和我一样想到了adb connect
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/8cb381b2f0e19b2af670336bebe931cc.png)
done,搞定,进到eclipse的DDM里面
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/22/7ae6dbe2695fd600572b4e4ab7efbbbd.png)
这样就可以开发了,速度如飞啊,无论打包还是运行!
转自:/article/5050744.html
相关文章推荐
- Robotium 测试工具,android 开发相关知识积累
- AndroidManifest.xml文件解析
- android实现文本信息复制,剪切板(ClipboardManager)
- Android LruCache源码简介
- Android通过SmsManager发送短信(附源码)
- XML解析详细介绍
- Android点击链接启动应用
- Android点击链接启动应用
- android NDK使用
- Android Activity 生命周期
- Android MediaPlayer学习笔记
- Mono For Android的项目发布
- Google Gapps – Download Gapps for Android【转】
- Android Developers:保存文件
- Pull To Refresh for Android
- WebKit – WebKit For Android
- 蓝牙状态的监听
- Dalvik虚拟机JNI方法的注册过程分析
- Android repo 切换分支
- Android杂谈--Activity、Window、View的关系