相信对于广大Android应用开发爱好者来说,Android SDK工具集的大家都已经能够很熟练的使用,但是我这里要介绍的是SDK工具集的非常用使用方法,即“另类用法”。
首先要说的是,大部分的Android应用程序开发者是基于Android模拟器来开发应用程序的,这种开发方式虽然很方便,直接用Eclipse就可以集成开发环境,基本上不需要手动去设置或者操作什么,但是同时也有几点很大的弊端:
1、Android模拟器的内存有限,如果开发相对比较耗资源的应用程序,就比较头疼了--模拟器运行的十分缓慢;而且随着模拟器分辨率设置的变化,分辨率越大模拟器就越卡也给应用开发带来了不小的困扰。这时候有些通报可能就会选择购买开发板或者用买个Android手机来进行应用的开发。但是其实,我们是有更好的方式来做Android的应用开发,这里先卖个关子。
2、通常来说,大家进行Android应用程序的开发都是在本机上实现的,也就是说代码编辑和模拟器运行是在同一台机器上实现的,但是有没有想过将这两者分别在两个机器上进行,或者说用虚拟机来实现Android系统的模拟呢?
说到这里,大家是不是觉得很有意思呢?
其实,Android不止是提供了arm版的!!!这里要隆重介绍一下Android—x86版,有不了解的朋友可以百度一下。
其实说起来很简单,使用android-x86进行应用程序的开发需要经历一下几个步骤:
1、找一台linux主机或者装一个虚拟机
2、下载android-x86源代码并进行编译(这部分本人就不再这里详细介绍了,百度一下大把大把的)
3、将编译生成的android镜像(一般名为generic-x86.iso)用虚拟机运行
经过一下几步,大家就可以看到一个类似操作系统的android系统了,它的好处是,你可以随意设置这个系统的内存大小,flash大小,CPU频率等各种硬件属性,使得你的应用程序开发不需要再考虑各种硬件资源对模拟器的影响,你不用再喝着咖啡吃着面包看着模拟器缓慢的运行心里干着急了!!!甚至,你完全可以找一台主机,把android系统装到台式机或者笔记本上!!
写到这里,关键的问题就来了,可能有些朋友就要问了,这样的话,要怎么样把应用程序开发与android-x86这个系统联系起来呢?
这就涉及到本文的第二部分了,即android sdk工具集的另类用法。
首先说一种比较傻瓜式的方式:你可以将编译成的android apk应用程序通过U盘挂载到andriod-x86系统上,然后通过U盘对应用进行安装。不过显然,如果只能用这种方式的话,我也不会写这篇文章里。
其实android sdk工具集本身已经做得够强大了,只要大家细心看看sdk各工具的使用说明就能发现,这里鄙人做下简单的说明:
adb工具的使用其实并不只局限于对模拟器的使用,它还有更强大的用法。
adb connect使用说明:
按照刚才说的,你已经将android-x86通过虚拟机运行起来了,或者你资源比较丰富,一不做二不休已经将这个系统装到另外一个系统上来,那么接下来,就说一下实现的详细步骤。
首先,在虚拟机或者装有android系统的主机上用ALT+F1,你会惊奇的发现,原来这个系统还有提供命令行界面!其实想想这也没什么好奇怪的,因为android使用的是linux内核,而linux内核的ALT+F1就是切入命令行界面的快捷键,同样的,要重新回到图形界面,ALT+F7就行了,这和linux系统也是一致的。
进入命令行界面之后,敲入netcfg命令,我们可以看到这个系统的ip,比如说这里我们看到的是192.168.1.160。
接下来,就是adb工具的另类用法了:adb connect 192.168.1.160:5555(冒号前面的参数是你android-x86系统的ip,后面那个参数是端口号,不可变)。
当显示连接成功的时候,所有的猪呢比工作都已经准备完成了。
接下来,就是见证奇迹的时刻:
在windows主机下使用adb install命令将你主机上有的apk应用程序安装一下,你就会惊喜的发现,这个应用程序居然被安装到了android-x86系统上,并且运行的飞快,比那什么什么模拟器快了不知道多少倍!!!
更有甚者,你会发现,怎么你通过Eclipse运行应用程序之后,模拟器并没有打开,而这个应用程序已经神奇的运行到了android-x86系统上来!!!
这是怎么回事呢?
其实原理很简单,之所以起初你使用adb install和用Eclipse运行程序的时候程序会装到模拟器上,是因为adb这时候模拟连接的就是模拟器,而当你使用adb connect连接上了android-x86系统上的时候,这个“默认的模拟器”就变成了你的虚拟机或者另外一个anddroid主机了,这样一来,所以对“模拟器”的操作都将会在android-x86系统上执行。
是不是很神奇呢?
如果有兴趣的话,不妨一试哦!虽然可能起初会花费你一些时间,但是带来的快乐和之后开发的高效,一定会给你意想不到的收获的!!