关闭

搭建 Android X86 系统,替代AVD模拟器,解决运行效率慢的问题(整理)====大全

5882人阅读 评论(0) 收藏 举报

一:VBOX虚拟机

==================================================================================

转载地址:http://blog.csdn.net/yangxin114/article/details/6756087

 

最近打算学习学习android,弄了个环境,但是AVD模拟器实在太慢,在网上 找到一个帖子,可以采用android X86系统代替AVD模拟器

详细的大家可参考:http://topic.csdn.net/u/20110728/09/ffa92f50-5899-4505-b5bf-b4f48223ccea.html

看帖子讨论总结出来的:

优点:效率不是一般般的快~

缺点:不能访问arm底层,一些第三方包如果不是开源不能使用 (据说如果是开源的,直接和android x86系统一起编译生成新的iso安装包,就可以用了,具体没操作过)

安装步骤:

1.准备

   下载VBOX:随便找的一个-http://dl.pconline.com.cn/html_2/1/59/id=46462&pn=0.html

    下载 android x86 2.2版本:http://www.xdowns.com/soft/softdown.asp?softid=73393

2.安装VBox

3.在虚拟机上安装android-x86虚拟系统

   基本上都选择默认值即可。内存,CPU,及硬盘的大小根据自己需要进行调整。 我的配置是内存:512M CPU:两个 硬盘:2G

4.修改网络链接方式

   对新建的android系统进行网络配置,网络方式选择桥接方式。这种方式才可以通过adb命令进行链接~

   如图:

5.调整分辨率

默认的分辨率是很看的,而且是横屏的~ 我们可以自己调整其分辨率大小。  我调整为了320*480 (俺电脑分辨率才1280*800,太大了会出现滚动条,操作忒不方便)

1. Ctrl+R -> CMD -> Vbox目录下 -> 输入VBoxManage setextradata "你的Android x86虚拟机名称" "CustomVideoMode1" "480x800x16"

( //注解:如果要添加其他分辨率,也 可以自己随意定制,比如我自定义了一个:

VBoxManage setextradata "你的Android x86虚拟机名称" "CustomVideoMode2" "320x480x16"

)
2. 启动Android x86虚拟机,选择(HDPI)启动配置,按'e'键,编辑其启动选项
3. 在kernel行上按'e'键,编辑该启动选项。在最后面添加两个行参数"vga=ask UVESA_MODE=480x800",确认之
4. 然后按'b',booting,接下来你就会看到DPI和分辨率跟HD2一摸一样的Android x86了.....

(//注解 3,4两步其实可以仅输入"vga=ask",然后按确认,出现命令行提示按回车,列出了很多分辨率(包括在第一步中我们自己添加的分辨率哦)

任意选择我们想要的分辨率即可~

)

6. 到此为止,android x86虚拟系统就安装完成了,我们来见证一下效果:

(友情提示:默认是锁屏的,解锁请用鼠标按住锁的位置,然后鼠标向右拖拽,即可解锁)

7.查看虚拟系统的IP

在启动好的android x86系统中,按Alt+F1,切换到命令行模式。(Alt+F7 切换回界面模式)

输入 netcfg命令,查看机器IP为:192.168.1.8

8.模拟器连接虚拟系统

该步骤就相当于在模拟器与虚拟系统之间搭建了一个桥梁,以后所有对模拟器的操作都会转到虚拟系统上。

在Win系统中,进入CMD命令,路径切换到“....\android-sdk-windows\platform-tools”

输入如下命令:  adb connect  192.168.1.1:5555   (IP修改为自己的,5555端口为不可修改)

当出现connected to 192.168.1.8:5555时,表示连接成功。

9.测试我们的成果

打开Eclipse,选中一个android工程,右键选择“Run As-> Android Application”,比如我这里是最经典的hello world!

如果是要调试,运行“Debug As -> Android Application” 。  (基本和用模拟器没啥区别)

运行结果如图:

终于搞定~  效率快的不是一点点~



备注:

1.分辨率的参数每次系统启动,都要手工输入是不是很不爽,可以参考以下地址修改为固化参数:

[置顶]Android-x86入门之--固化启动参数

http://blog.csdn.net/louiswangbing/article/details/6715930

 

=======================================

http://jooben.blog.51cto.com/253727/698565

Android2.3 x86 安装实战               

地址:http://www.android-x86.org/

原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://jooben.blog.51cto.com/253727/698565

【步骤一:下载android资源

http://code.google.com/p/android-x86/downloads/list

下载:android-x86-2.3-RC1-eeepc.iso

wps_clip_image-9031

【步骤二:创建虚拟机】

virtualbox中(如何安装使用virtualbox,请网上搜索),按照如下步骤创建虚拟机:

1、创建虚拟机

wps_clip_image-17779

点击新建之后,

下一步:

wps_clip_image-2602

下一步内存(默认),下一步虚拟硬盘(默认),

下一步虚拟硬盘安装向导,虚拟硬盘类型选择动态扩展;

配置如下:

wps_clip_image-16190

最后完成即可。

创建完毕之后,点击设置---Storage

wps_clip_image-18307

加载android虚拟镜像(可以Choose a virtualbox CD/DVD disk file...指定)

【步骤三:安装android

点击wps_clip_image-25763,启动虚拟机,看到如下界面:

wps_clip_image-9766

通过上下键,选择最后一项:Installation...

然后,按Tab键,出现:

wps_clip_image-9955

DEBUG后,按空格,增加如下代码:

DADA=sda1 SDCARD=sda2(具体意思我没有深究,sda2后面会讲)

wps_clip_image-25866

按回车确认。

wps_clip_image-30959

选择:Create

看到界面:

wps_clip_image-25574

选择New

wps_clip_image-14848

选择:Primary,修改为:

wps_clip_image-4583

按回车确认,然后选择Beginning

返回之后,选择[Bootable]

返回之后,选择[Write]

看到:Are you sure you want to write...

输入yes即可。

写完之后,会返回;

用下方向键,选择:

wps_clip_image-24062

然后点击:[New],选择[Primary]Size默认即可,回车确认。

返回之后,选择:[Type]

注:为什么要选择Type,因为sdcard的格式是FAT32

wps_clip_image-5887

输入:1B

返回结果如下:

wps_clip_image-2591

返回之后,选择:[Write],输入yes

最后选择:[Quit],返回界面,选择如下:

wps_clip_image-13450

选择:<OK>之后,选择ext3,再次选择<OK>进行确认。

之后的操作按照默认,回车即可。

【步骤四:启动Android

安装完毕之后,出现:

wps_clip_image-20313

默认即可。

进入系统之后,如果需要使用鼠标,按如图操作:

wps_clip_image-107

如何加载SD卡?

Home----Settings----Storage

wps_clip_image-14757

进入之后,选择:Erase SD card

成功加载SD卡:

wps_clip_image-30162

到此安装结束。

留给大家思考:

1、为什么之前选择SDCARD=sda2,而不是其他呢?

2、为什么创建了另一个主分区(6G)?

3、如果不创建第二个主分区(sda2),而是创建逻辑分区,变成sda5,那怎么办呢?

4、为什么要选择sda2FAT32格式呢?

 

如图,在VirtualBox虚拟机中的快捷键Host+F,Host+L都是哪个键
TX的东西真是LJ,放了两天都没个答案

VirtualBox的HOST键,默认是键盘右边的CTRL。
其实在你第一次全屏运行时,其有提示的。并且运行时,其显示 Right Ctrl字样。

最佳答案:
http://www.wenwen.com/z/q94783644.htm

 

 

 ===========================================================================================

二:WMWare虚拟Android

使用VMWare 虚拟Android :

地址:如下:

http://wenku.baidu.com/view/f86fee5c804d2b160b4ec04e.html

省略:



三:搭建Eclipse的Android和虚拟机调试环境

转载地址:

4.自定义虚拟机分辨率

我们在开发时肯定需要测试不同的分辨率,那么如何自定义Android虚拟机的分辨率呢?

首先我们需要从Virtual Box的设定入手

打开cmd,进入Virtual Box的下你创建的虚拟机的目录,我创建的虚拟机叫Android-x86,我的账户是Administrator,在我Windows XP上的路径是

C:\Documents and Settings\Administrator\VirtualBox VMs\Android-x86

注意:

1.在不同操作系统下路径会有一些不同,请根据操作系统的实际情况寻找,原则上都是在你当前用户的个人文件夹里

2.Android-x86是我创建的虚拟机的名称,如果你的和我的不同,请修改为你创建的虚拟机的名称

在这里我们需要使用VirtualBox提供的命令行工具来给你的虚拟机添加一个自定义分辨率,例如我想添加一个现在流行的手机屏幕分辨率 480x800,那么我们输入的命令如下

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Android-x86" "CustomVideoMode1" "480x800x16"

上面的命令中,加粗的部分是要根据你自己电脑上的情况进行修改的,相关解释如下:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

是Virtual Box命令行工具VBoxManage.exe的完整路径,请根据你电脑上安装的VirtualBox的实际路径修改

注意:如果路径中含有空格请使用双引号将整个路径包起来

Android-x86

这个是虚拟机的名称

480x800x16

这个是自定义的分辨率,请根据自己的需要修改,后面的16指的是16位颜色,请勿修改

如果你想增加更多的分辨率,请修改参数后多次运行该命令即可

 

修改完毕之后,启动虚拟机,在Android的启动画面选中选项后按两次e键编辑内核启动参数,增加一个参数 vga=ask,具体流程如下
启动画面按e键

 

进入新画面后再按一次e键

这时进入内核参数编辑状态,增加参数 vga=ask

编辑完毕后按回车保存修改结果,这时会回到上一个页面,此时按下b键启动

此时系统会提示你按回车进入分辨率选择界面,我们按回车继续

进入页面之后,你可以看到所有系统支持的分辨率,这时请寻找你刚才设定的分辨率,在下图中,可以找到在先前设定的 480x800的分辨率,注意其前面的16进制代码360,如果想以该分辨率启动虚拟机,我们就输入360再回车即可

回车后Android就会按照你设定的分辨率来启动了,下图是以480x800分辨率启动的Android-x86虚拟机截图

注意:

如果你需要系统采用你指定的分辨率启动,需要在每次Android虚拟机启动的时候执行上面步骤的操作来修改内核参数启动Android

如果你想Android在启动的时候就默认进入分辨率选择画面或者默认采用你指定的分辨率启动虚拟机,那么可以参考以下步骤

1. 进入android虚拟机后按alt+F1进入命令行

2. 输入mkdir /data/fs

3. 挂载硬盘,使用下列命令

mount -t 硬盘格式 /dev/block/硬盘名称 /data/fs

硬盘格式为你虚拟机硬盘的格式,我这里是ext3 硬盘名称则是你虚拟机的

硬盘名称我这默认是sda1,表示第一个sata硬盘, linx下具体的硬盘命名规则请自行Google之

mount -t ext3 /dev/block/sda1 /data/fs

将硬盘挂在到 /data/fs文件夹上

4. vi /data/fs/grub/menu.list 编辑启动菜单列表 (vi这个命令行编辑器怎么用请自行Google之)

5. 和刚才启动时一样,在第一个kernel那一行的末尾增加 vga=ask 后保存
6. 重启虚拟机,这时候你就会发现每次Android启动的时候就会询问分辨率了

5.使用eclipse ADT在虚拟机上远程调试开发

现在虚拟机已经配置完成,下面来讲解如何使用eclipse来在上面运行和调试Android应用程序

在前面设定虚拟机的时候我把虚拟机的网卡设置成了bridged adapter,这样虚拟机在局域网中相当于一台独立电脑,你可以给它设置一个ip或者讲其网卡设置为dhcp状态来自动获取ip,我下面只讲解一下在dhcp状态下如何查看android虚拟机ip的方法:

进入android虚拟机,按alt+F1进入命令,输入netcfg命令来查看网络状态,参考界面如下

其中eth0就是当前的网卡,后面的ip地址就是通过dhcp获得的ip地址

弄清楚之后再按alt+F7返回图形界面

此时我们打开eclipse,进入android开发插件的设定界面,选择ddms,勾选 Use ado host, 并在ADT host value 一栏填写虚拟机的ip地址,具体界面请参看下图

 

选择ok保存后,在ddms界面的device菜单上选择重启adb服务,重启后,就能看到ddms连接上虚拟机了

 

接下来就能和平常一样在虚拟上运行和测试你的Android程序了,enjoy~

最后总结一下这个环境的优缺点:

优点:
1.高速,相比Android SDK的虚拟机,无论是启动还是运行,本虚拟机要快上很多很多,让你可以流畅的运行测试你的Android应用,当然,也能舒服的在电脑上体验到Android系统:)
2.可以模拟平板电脑的环境

缺点:

1.硬件支持还是悲剧,像打电话,短信,重力感应,GPS摄像头什么的你还是得去弄台真机器调试(不过这些东西本来就不是模拟器能做的)

另外补充一下虚拟机中主页、返回、关机、菜单对应的键盘按键
Home键 -> Win键
返回键 -> ESC键
挂机键 -> alt+F4
菜单键 -> 键盘菜单键,一般在右边win键和ctrl键中间

1.用鼠标点住某个程序的图标不放:
(在菜单中)相当于要创建桌面快捷方式
(在桌面)可移动至另一桌面或拖入垃圾桶

2.菜单、网页中,鼠标左键相当于前进,右键后退
键盘 回车前进,ESC后退

3.关机(我的本本上可用,其他的不知道):F4、F6、End

4.长按输入框可切换输入法

5.Android设备一般会有Home,Menu和Back三个标准按钮,如果没有,就要这样模拟:

(1)按住上方状态栏的右面一会儿后,会提示打开状态栏模拟按钮的功能:打开后,单击状态栏表示Home;状态栏上按鼠标键并从左向右划动表示Menu;状态栏上按鼠标键并从右向左划动表示Back。同样方法还会关闭状态栏模拟功能。

(2)单击鼠标右键也表示Back;按下键盘上的ESC键或Windows键也表示Home;按下键盘上的上下文键(一般在Alt和Ctrl中间)也表示Menu。

(3)Android里只要程序不显示就表示关闭了程序,对于有后台功能的程序,需要从“Dev Tools - Running Process”里关闭(一般不使用)。

6如果要上下滚动,可以拖动一个空白处,或使用鼠标滚轮。

7.如果要关机,按F6,这时会提示。

8.Alt-F1是切换到Linux命令行,Alt-F7是切换回图形模式。不要使用“reboot -p”关机(没有按Java程序的流程运行)。



 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1033821次
    • 积分:12403
    • 等级:
    • 排名:第1194名
    • 原创:95篇
    • 转载:609篇
    • 译文:12篇
    • 评论:85条
    最新评论