用Eclipse调试Android x86

如题,Google自带的模拟器实在是慢到不行了,在网上有看到一个叫做Android x86的东东,实际上就是一个iso的镜像,可以把这个镜像装到你的PC或虚拟机上跑起来,效果跟那个自带的模拟器比起来,那可是天与地的差别,流畅的不得了,废话少说,马上进入正题。

首先,先去下载Android x86镜像文件,网址:

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


最新的是4.0的,不过我试了好像有点问题,界面上有闪烁的输入下标,并且可以输入指令,我下的是android-x86-2.2-generic.iso


然后,下载VirtualBox虚拟机,下载网址:

https://www.virtualbox.org/wiki/Downloads


安装好后,新建一个虚拟系统,操作系统选择Linux,版本选择Linux2.6,给它一个名称,最好是英文的,记住这个名称,后面需要用到,内存的话分配512给它就够了,硬盘使用HDD格式的,大小2G也够了,创建完毕后运行,选择刚刚下载的android-x86的ISO镜像,出现如下界面:


如果你只是想体验一下的话,就选第一个,不用安装就可以直接用了,但是数据不会保存,所以建议还是选最后一项,把它安装到虚拟机的硬盘上,先别急着选最后那一项,我们要在安装的时候给它分区,分二个区,主分区用来装Android系统,逻辑分区用来当作sdcard,所以,现在这样做:

下移光标到最后一项,按Tab键,下方会出现一行代码,并且可以编辑,在最后的DEBUG=后面加一个空格,然后输入:

DATA=sda1 SDCARD=sda5

回车,进入到分区界面,选择"Create/Modify partitions"(创建或修改分区), 然后New一个Primary分区和一个Logical分区,分别各赋予1G的空间,然后设Primary分区为Bootable,最后选择Write,分区结果如图:



现在选第一个sda1,要求格式化,就用linux的格式吧,即ext3的格式,下面就一路Yes了,最后直接选Run Android-x86,界面出来了有木有,激动了有木有?咦?看不到鼠标?解不了锁?吭爹啊!!别急,选择菜单中的[Machine]-> [Disable Mouse Integration]把它禁用掉就可以了!~ 如图:



那么,接下来怎么与Eclipse结合开发呢?待我喝杯Java先...


首先,在虚拟机里按alt+F1,出现命令行了,输入命令:

netcfg

可以看到虚拟机中Android的IP地址,如图:


如上图,我的虚拟机的IP是192.168.100.109,然后再按alt+F7回到界面,现在回到你真正的PC机里,按键盘右边的Ctrl键可以拿回你的鼠标了,打开终端即命令行,输入:

adb connect 192.168.100.109:5555  (别傻傻的照打哦,替换你刚刚获得的IP地址)

看到 connected to 192.168.100.109:5555 就已经可以了,然后就可以直接在Eclipse里面Run你的Android工程了,爽吧?不爽!?我知道了,出现FC了吧(Force Close),这是因为当前虚拟机中的分辨率是800x600的,你的程序没有为这个分辨率准备专门的资源包,当然报错啦,那怎么办?说实话我也不知道,呵呵,开个玩笑(一点都不好笑)。。。

经过万能的Google搜索,我找到了方法,关键点就在于刚刚启动界面选择菜单那里,我们要做点手脚了,首先,先重启你虚拟机中的Android吧,可以直接按右Ctrl+Delete键,

如果此时还是出现我上面贴的第一张图的界面的话,请先把镜像卸载掉,已经不需要它了,方法不用我说了吧?去掉后真正的界面如图:



注意区别,我这里已经自己加了个My Android的选项了,怎么做?选择最后一项(Debug mode),又进入命令行界面,我为什么要说“又”? 呃。。

下面又是命令了:

mount -o remount,rw /mnt 

vi /mnt/grub/menu.lst


这是两条命令,意义神马的不解释!~ 反正会进入到编辑的界面,还是命令行的哦,问你怕未?

按i可以进入编辑状态,在这里,我照下面的样式自己加了一个选项,区别在于最后加了个vga=ask,如图:


由于命令太长了,它没有自动分行,后面的都看不到了,记住在最后加vga=ask哦!!

敲完长长的代码后(真的很长啊!!),按Esc,再输入:wq(注意前面有个是冒号),按回车保存,回到命令行,输入/system/bin/reboot,或者重启虚拟机啦

现在可以看到你刚刚加的那个选项了吧?不用犹豫了,猛击它吧

看到Press to see video modes available, to continue, or wait 30 sec 的童鞋请举手,不用举了,肯定都一样,什么!?你没有?不用说了,你肯定是没有在最后加vga=ask这句话吧,回去加上吧。

那么现在我们按回车车,出来一大串东东,没错啦,这些就是它的分辨率,但是,但是呢.........尼玛的它没有480x800的啊!!!!

"没有就加上呗",这是哪位童鞋说的?很好,那就这么干吧!

我在谷歌上搜了好久哇,终于还是被我挖到了,这次,我要把原贴地址贴出来,以表感谢:

http://www.blitzbasic.co.nz/Community/posts.php?topic=95711


没错,那是E文的,看不懂没关系,我也看不懂~~(别打我,我E文真的很烂呀!),但我还是一句一句的用翻译把它的大概意思翻出来了:

1. 关闭你现在正在运行的虚拟机,关闭时选择Power off the machine(关闭虚拟机的电源)。

2. 打开终端Terminal(Windows则是命令提示符)

3. 用cd命令跳转到你安装VirtualBox的目录。(Linux可省略这一步)

4. 输入并执行 VBoxManage setextradata "NameOfYourAndroidVM" "CustomVideoMode1" "480x800x16" 命令。

(注意这里了,这里的NameOfYourAndroidVM是你建立Android虚拟机时的名称,还记得我在文章开始说要记住的那个名称嘛,CustomVideoMode1这里一定要这么写不能改变,最后是分辨率,x是小写字母的x)


好了,现在重新启动你的虚拟机,来到刚刚那个选分辨率的界面,这时,可以看到了吧,哈哈,如图:


360的那个Mode,激动了有木有,敲入360然后猛按回车吧!!

瞪瞪瞪瞪,看,分辨率已经改过来了,窗口也变成480x800的了:



还看?没啥好说了,去爽吧,对了,最后声明一下:

本文可随意转载,但请注明出处哦:

http://blog.csdn.net/qq280948982/article/details/7075073

你可能感兴趣的:(Android,Linux技术)