当前位置: 代码迷 >> Android >> 运用android x86进行android应用开发
  详细解决方案

运用android x86进行android应用开发

热度:86   发布时间:2016-05-01 20:06:00.0
使用android x86进行android应用开发.

?

?一.必备工具:

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 => 切换到图形界面模式

  相关解决方案