使用android x86进行android应用开发.
首发论坛 安卓巴士.id:android_bin
一.必备工具:
1.虚拟机软件(本文使用virtual Box为例),
2.android x86镜像,下载地址http://www.android-x86.org/download,目前4.0和3.2的镜像都不支持以太网,只能使用2.3的,推荐android-x86-2.3-RC1-eeepc.iso.
二.安装android x86系统.
打开virtual Box,新建一个虚拟机
操作系统选择Linux,版本选择OtherLinux
内存256MB即可
硬盘默认8GB即可,因为是开发用,8GB绰绰有余了
虚拟机创建好之后,还需要修改一些配置
首先把下载的iso文件装载进去:
然后是调整网卡,连接方式建议选择bridged adapter这样虚拟机在局域网中有独立IP可以方便访问,然后控制芯片要选择为PCnet-FASTⅢ ,否则Android-x86无法识别网卡
虚拟机启动后,你可以看到下面的画面
第一和第二的项目是让你不用安装体验高、中DPI的Android-x86,有兴趣的话可以先运行体验一下x86的速度
我们要安装Android到硬盘,选择最后一项后回车
Installation - Install Android-x86 to harddisk
接下来我们会进入安装界面,界面效果如下
我们选择Create/Modify partitions来创建分区
首先我们选择new来创建新分区
选择Primary创建主分区
分区大小采用默认大小即可
然后我们设定该分区可以引导(选中Bootable后回车),这是分区的flag会显示boot,
然后我们再选择write将修改写入到硬盘(选择write之后还需要输入yes来确认)
分区完毕后再选择quit即可退出,退出后,我们就能看到刚才分配的新分区被识别出来了
按下回车选择该分区,这时会询问采用什么分区格式格式化分区,建议选择ext3
选择好格式后系统会再跟你确认一遍,输入yes安装就会开始了
安装中途会询问你是否安装Grub,这里一定要选择YES,因为我们后需要Grub来自定义启动Android
安装Grub的时候会询问你是否将/system目录安装为读写模式(设为读写可以更方便的debug,但是会占用更多的空间和安装时间),选择yes
回车后安装就会开始了
安装结束后,会弹出一个菜单
三个选项分别是
运行Android
创建一个虚拟SD卡
重启
因为我们开发肯定会用到SD卡,所以在此我们创建一个虚拟SD卡
创建时会询问SD卡的大小,根据你的需要设定即可,我在此设定的是512MB
回车后安装程序就会开始初始化sd卡了
格式完毕后,会提示重启,
重启之前,首先要退出虚拟机光驱中的系统盘.
首先关闭虚拟机.因为还没有进入android系统,只能选择强制退出了.
重启进入Android系统
注意使用在Android系统中使用鼠标的时候需要设置Virtual Box禁止自动鼠标独占,否则鼠标在Android中无法正常使用
鼠标操作方法:鼠标在虚拟机之外时,点一下进入虚拟机,此时被限制在虚拟机中使用,如果想出来,按一下右ctrl键就出来了.当然你可以在vbox设置中把这个右ctrl键换成其他按键,
4.使用ddms连接虚拟机:
ctrl+f1,打开虚拟机中的linux命令行窗口.输入netcfg
可以看到目前的网络设备状况.eth0就是以太网卡了,现在已经是up状态,ip地址已经由dhcp分配了,记下即可
打开eclipse,在android-ddms中,给use adbhost打钩,然后输入刚才的ip地址.
然后切换到ddms标签,reset adb一下,就可以看到你的虚拟机出现在devices中了~
5.修改虚拟机分辨率以适应开发需求.
做手机开发的还好,按以上步骤已经可以开始用了,但是如果是做pad开发的,这个分辨率可不成.我们得修改分辨率.
首先要关掉虚拟机,关掉vbox.这两个都要关.不然下面的修改会无法保存.
按图中所示打开电脑上的文件夹.我是用的administrator,如果用其他账户的话,看着换吧
找到你的虚拟机名字命名的那个文件夹.打开android.vbox文件.
在<ExtraData>节点后面加上图中的语句,想要多少分辨率就加多少分辨率,这里是字母x,不是*号
注意:如果宽度>高度,虚拟机是自动横屏的.
加好以后,重新打开虚拟机,在下面界面按e
进入下面界面后,再按e
按图中所示,加上vga=ask,回车
再按b
现在启动时会提示检测到多个video模式,让你选择video模式,按回车即可
现在你可以看到你加的分辨率出现了,想用哪个,就输入前面的数字回车就行了,比如要用1280x800的,就输入360 然后回车就ok了.
注意:
如果你需要系统采用你指定的分辨率启动,需要在每次Android虚拟机启动的时候执行上面步骤的操作来修改内核参数启动Android
5.附加问题:
如果你用3.2或者4.0的iso,网络设置时eth0会显示down.
此时进入命令行界面,或者使用应用程序中的命令行软件android terminal进入命令行
输入su 使用管理员账户
输入ip a 查看网卡情况,会有eth0,不过是down状态
输入dhcpcd eth0 开启网卡eth0的dhcp功能,开启成功以后会看到分配的ip地址,或者以后使用netcfg查看也可以.
输入setprop net.dns1 8.8.8.8设定dns,这个8.8.8.8是google提供的,你换成自己电脑上的dns也可以的.
设置ok后按alt+F7返回图形界面,现在可以用浏览器上网了,不过需要网络连接的程序还是使用不了.
相关快捷键
如果在 Android 屏幕上没有看到鼠标指针,可以通过 VirualBox 菜单禁止 mouse integration(鼠标整合)( Host Key + I)。
"Windows 键"相当于 Android 的 Home 按钮。
"Esc" 相当于 Android 的 Back 按钮,在2.3的系统中,鼠标右键也可以当做返回.很方便.
F2 相当于 Android 的 Menu 按钮
F3 相当于 Android 的 Search 按钮
Alt+F1 => 切换到控制台模式
Alt+F7 => 切换到图形界面模式