【Andro id-Em ulato r】And roid模拟器介绍和基本使用 注:其中部分内容参考网上资源
1、An droid模拟器介绍
And roid中提供了一个模拟器来模拟ARM核的移动设备。Andr oid的模拟器是基于QEMU开发的,QE MU是一个有名的开源虚拟机项目(详见
ht tp://bella rd.or g/qem u/),它可以提供一个虚拟的A RM移动设备。And roid模拟器被命名为gold fish,用来模拟包括下面一些功能的AR M SoC:
*ARM926ej-S CPU
* Th umb s uppor t
*MMC
* RTC
* K eyboa rd
* USBGadge t
*frame buffe r
*TTY d river
* N AND F LASH
Andr oid模拟器所对应的源代码主要在exte rnal/qemu目录下。如果你想将An droid 移植到其他设备上,熟悉它目前所针对的模拟器环境可以提供一些参考。
对于应用程序的开发者,模拟器提供了很多开发和测试时的便利。无论在
Wind ows下还是Linu x下,An droid模拟器都可以顺利运行,并且Go ogle提供了Ecl ipse插件,可将模拟器集成到Eclip se的ID E环境。当然,你也可以从命令行启动And roid模拟器。
这款模拟器功能非常齐全,电话本、通话等功能都可正常使用(当然你没办法真的从这里打电话)。
甚至其内置的浏览器和G oogle Maps都可以联网。用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击、拖动屏幕进行操纵。
当然模拟器毕竟是模拟器,和真实的机子还是存在差别的,
andro id模拟器和真机的不同之处:
* 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)
*不支持US B连接
* 不支持相机/视频捕捉
*不支持音频输入(捕捉);但支持输出(重放)
*不支持扩展耳机
* 不能确定连接状态
* 不能确定电池电量水平和交流充电状态
*不能确定S D卡的插入/弹出
* 不支持蓝牙
2、创建和启动Andr oid模拟器
要玩GPhon e的模拟器,当然需要先去htt p://d evelo per.a ndrom/sdk(如果打不开就用htt p://a ndroi dappd ocs.a ppspm/sdk/index.html)上面下载Andro id 的S DK,解压出来后在S DK的根目录下有一个tools文件夹,里面就是模拟器和一些非常有用的工具。(SD K详细的安装过程请参照
htt p://b log.c sdn.n et/ma gicyu2/arc hive/2009/11/02/4755747.a spx)
要正确的启动模拟,你必须先要创建一个AVD(Andro id Vi rtual Devi ce 虚拟设
备 ),你可以利用AVD创建基于不同版本的模拟器,下面就介绍如何创建AVD:(1)查看当前支持版
本(在列出的版本中我们需要记住id值,这个值在第2步中使用):
magi cyu@m agicy u-des ktop:~$ an droid list targ et
键盘映射你可以看到几个Avai lable Andr oid t arget s,比如:Name: Andr oid 1.6,他们有各自的i d号。
(2)创建AVD:
mag icyu@magic yu-de sktop:~$ a ndroi d cre ate a vd -n magi cyu -t 2
-n后面接需要创建a vd的名字,-t后面接需要创建虚拟器的类型,2即为步骤(1)中得到的类型id号。
(3)查看是否创建成功(如果成功会显示刚才我们创建的a vd信息):
ma gicyu@magi cyu-d eskto p:~$andro id li st av d
(4)启动模拟器:
magic yu@ma gicyu-desk top:~$ emu lator @mag icyu或者
互联网精准广告投放e mulat or -a vd ma gicyu
其中@和-avd后接的是你创建过的a vd名字
(5)选择启动的皮肤
m agicy u@mag icyu-deskt op:~$ emul ator-avdmagic yu -s kin Q VGA
skin后面接所要启动皮肤的类型,所有的类型可以在/ pla tform s/and roid-1.*/s kins目录下到,*为所指的版本。如在1.6版本的SDK下有HVGA,QVGA,
WVG A800,WVGA854几种。按Ctrl+F11,可以直接改变模拟器的横纵摆放。
当然A VD也可以在Ecli pse中创建和启动。关于Ecl ipse+ADT+S DK的安装请参见ht tp://blog.csdn/m agicy u2/ar chive/2009/11/02/4755747.aspx。
运行E clips e,Win dow->Andro id SD K and AVDManag er,就能得到如下的界面,选择新建即可新建一个AV D。
3、Andr oid模拟器的一些工具
(1)adb:
ADB(Andr oid D ebugBridg e)是An droid提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态还可以进行以下的操作:
a、快速更新设备或手机模拟器中的代码,如应用或A ndroi d系统升级;
b、在设备上运行shel l命令;
c、管理设备或手机模拟器上的预定端口;
d、在设备或手机模拟器上复制或粘贴文件
一些常用的操作:
进入Shell: adb shel l引江济淮工程>金瓶梅鉴赏辞典
通过上面的命令,就可以进入设备或模拟器的sh ell环境中,在这个Linux Shel l 中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb s hell[comm and]
如:ad b she ll dm esg会打印出内核的调试信息。
(An droid的linu x she ll做了大量精简,很多linu x常用指令都不支持)
上传文件: ad b pus h
下载文件: a db pu ll
安装程序:adb i nstal l
卸载软件: a db sh ell r m /da ta/ap p/
补充一点,通过adb安装的软件(*.apk)都在”/data/app/”目录下,所以安装时不必制定路径,卸载只需要简单的执行”rm”就行。
结束adb: adb kill-serv er
显示andr oid模拟器状态:
adbdevic es (端口信息)
adbget-p roduc t (设备型号)
adb g et-se rialn o (序列号)
等待正在运行的设备:adb w ait-f or-de vice
端口转发: adb forw ard a db fo rward tcp:5555tcp:1234
物价法
(将默认端口TCP5555转发到1234端口上)
查看b ug报告: adbbugre port
hpoa
adbshell sqli te3 访问数据库S QLite3
ad b she ll lo gcat-b ra dio 记录无线通讯日志:一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录
应用程序配置文件:
“Andr oidMa nifel”中
“”
决定是否应用程序是否显示在Pane l上
(2)am指令(在sh ell内使用am来加载andr oid应用):
a m [st art|i nstru ment]
amstart [-a]
[-d ]
[-t ]
[-c [-c] …]
[-e[-e ...]
[-n ] [-D] []
am in strum ent [-e ]
[-p]
[-w]
启动浏览器:
amstart -a a ndroi d.int ent.a ction.VIEW -d h ttp://www.googl e/
拨打电话:
a m sta rt -a andr oid.i ntent.acti on.CA LL -d tel:10086
启动g oogle map直接定位到北京:
a m sta rt -a andr oid.i ntent.acti on.VI EW ge o:00?q=bei jing