独学而无友,则孤陋而寡闻!
分类: 嵌入式
2012-04-14 17:15:15
3.6.4 Android仿真器远程登录模式
在Android仿真器启动后,可以在Windows/Linux/Mac系统上运行telnet指令连接到Android仿真器的console终端机模式,指令如下:
一般情况Android仿真器的序号为5554,所以运行telnet时请将console-port改成想要连接的仿真器序号,例如5554、
5556或5558。使用telnet localhost
5554连接上仿真器后,输入help指令,就会看到如图3-33的画面。画面中显示着登录Android仿真器终端模式后,可以运行的指令有
event、geo、gsm、kill、network、power、redir、sms、vm与window等,这些指令都相当的实用,可以控制
Android手机的操作,也可以更进一步地了解掌控Android仿真器,现在就让我们实际演练一下这些仿真器终端模式的指令是如何应用的?
(点击查看大图)图3-33 telnet登录仿真器终端模式 |
event可以发送send、types、codes与text四种事件给仿真器,例如event text testmessage发送文字字符串test message给仿真器,可以在Android仿真器画面上立即看到这串消息。
geo指令可以发送GPS的位置给仿真器。geo fix是发送一组固定的GPS位置,它的格式为经度(longitude)、纬度(latitude)与高度(altitude)。可以从
map.html网站轻易地从网站上的地图画面查到经纬度,例如经度121.5,纬度25.4与高度10公尺。而当Android装置有其他外接的GPS
卫星导航机通过USB连接时,则可以使用geo nmea的指令方式,送给外接的GPS接收器位置。NEMA是National Electrical
Manufacturers Association缩写,它制定了GPS导航装置的NEMA 0183协议。gps
nema的格式相当的复杂,共有12个字段,但也因为如此它比geo fix位置定位精确许多,gps nema的格式帮助如下:
gsm指令可以仿真GSM手机拨打的状态,它的参数有call、busy、hold、accept、cancel、data、voice与 status等,只要后面加上任意一个电话号码,就可以在Android仿真器中进行GSM电话的拨打仿真。
在Android仿真器的终端模式输入kill指令,就会立即将仿真器窗口关闭退出。
查看Android仿真器的网络发送状态。
network speed可以更改手机的网络发送模式,共有gsm (GSM/CSD)、gprs (GPRS)、edge
(EDGE/EGPRS)、umts (UMTS/3G)与hsdpa (HSDPA/3.5G)
或者full全速发送几种模式,不限定采用哪一种发送模式,此为Android系统的网络默认设置。
显示当前手机的电源状态是否接上AC电源以及电池的剩余电量。
使用redir指令,就类似adb forward指令,可以更改仿真器的TCP或UDP通信端口,例如上面的例子将用来开发Android的计算机TCP通信端口5000所接收到的信息,导向到Android仿真器的TCP通信端口6000。
列出当前已经导向的TCP或UDP通信端口。
redir del可以将已经导向的通信端口删除,例如将刚刚计算机TCP port 5000导向到仿真器TCP port 6000的功能删除,就运行redir del tcp:5000。
sms可以发送短信,它的格式是sms send <手机号码> <短信>,所以上面的例子会将this is a test短信送给手机号码5556688。Android仿真器会马上显示收到这条短信
window scale可以立即改变仿真器窗口的大小,就如同运行emulator指令时加上-scale的效果,同样的factor可以是0.1~3.0。当运行window scale 1.2时,可立即看到Android仿真器窗口放大了1.2倍。