给2G模块写imei序列号:adb 命令 echo AT+EGMR=1,5,"1234567897894561" > mux2 读时用CGSN命令
1.查看输入设备对应的event几以及设备名称等信息 : cat /proc/bus/input/devices
2. adb shell getevent得到的输入设备的信息
#getevent -l
<1>触摸屏
/dev/input/event5: EV_ABS ABS_MT_TRACKING_ID 00000000
/dev/input/event5: EV_ABS ABS_MT_TOUCH_MAJOR 000000c8
/dev/input/event5: EV_ABS ABS_MT_POSITION_X 000001d5
/dev/input/event5: EV_ABS ABS_MT_POSITION_Y 00000118
/dev/input/event5: EV_ABS ABS_MT_WIDTH_MAJOR 00000001
/dev/input/event5: EV_SYN SYN_MT_REPORT 00000000
/dev/input/event5: EV_SYN SYN_REPORT 00000000
重复6遍----触摸时间的长度来决定次数。
格式为 device: type code value,即 设备、输入设备类型、按键扫描码、附加码,具体定义可从kernel/include/linux/input.h中获得,至于这个头文件,途径之一是从google官网源码中获取:
通过分析:平板左上角为原点 ,右下角为终点,系统上报的都是像素坐标点。例如右上角大概坐标(763 , 46)
<2> 物理按键
/dev/input/event1: EV_KEY KEY_POWER DOWN
/dev/input/event1: EV_SYN SYN_REPORT 00000000
/dev/input/event1: EV_KEY KEY_POWER UP
/dev/input/event1: EV_SYN SYN_REPORT 00000000
注:虚拟按键这里都是上报触摸位置信息? 按键方面(MENU) DOWN:1 UP:0
所以清楚了之后,使用sendevent进行事件模拟就很轻松了,关键是从input.h中获取按键对应的扫描码,也许每个版本的系统中input.h的内容都稍有不同,这个很头疼。值得注意的是使用getevent获取的数值都是16进制的,而sendevent使用的是10进制的,需要进行转换。
按键方面(MENU) DOWN:1 UP:0
3.由于sendevent比较麻烦 所以用input代替
输入文本: input text abcdefg
按键 : input keyevent KEYCODE_MENU
点击 : input tap 100 300
拖拽 : input swipe 100 600 500 600
①对于文本输入,以下字符需要加 \ 进行转义:
` ' " ~ # & ( ) | \ ; < >
②对于longTouch,使用input如何模拟?
③最后,在android中不管使用sendevent或者input,如何能模拟输入非ASCII字符呢,比如中文?
这是个难题
3.1查看输入设备上报速率
getevent -r /dev/input/event1
3.2 sendevent
如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下
adb shell sendevent /dev/input/event0 3 0 40 //ABS X 40 adb shell sendevent /dev/input/event0 3 1 210 // ABS Y 210 adb shell sendevent /dev/input/event0 1 330 1 //KEY BTN_TOUCH 1 adb shell sendevent /dev/input/event0 0 0 0 //SYNC EVENT adb shell sendevent /dev/input/event0 1 330 0 //KEY BTN_TOUCH 0 adb shell sendevent /dev/input/event0 0 0 0 //SYNC EVENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
================================================================================================================
adb 基本命令
1.基本命令
adb forward <local> <remote>发布端口,可以设置任意的端口号,
做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000
adb reboot 重启手机
adb remount 将system分区重新挂载为可读写分区
adb kill-server 终止adb服务进程
adb start-server 重启adb服务进程
adb root 已root权限重启adb服务2.新命令
adb shell am 命令可以启动应用程序
adb shell input text <string> 向设备输入文本(光标所在的文本框)
adb shell input keyevent <event_code> 向设备发送按键事件
如:
在编辑短信时,往文本框输入文本:adb shell input text "hello"
向手机发送键值回Home:adb shell input keyevent 33.linux shell 命令
ps 可以看那个进程再跑
ps -x [PID] 查看单个进程的状态
top 可以看那个进程的占用率最高
su 切换到root用户
kill [pid] 杀死一个进程4.查看系统状态和信息
adb shell procrank 查询各进程内存使用情况
adb shell service list 查看services信息
adb shell cat /proc/meminfo 查看当前的内存情况
adb shell cat /proc/cpuinfo 查看CPU信息(硬件)
adb shell cat /proc/iomem 查看IO内存分区
adb shell getprop 列出系统所有属性
adb shell getprop | findstr "gsm" 列出包含gsm的属性
adb shell setprop <key> <value> 修改系统属性
adb shell sqlite3 可以执行sql语句查看数据库信息, 具体使用情况待调查5.-----------Log 系列-----------
adb logcat [ <filter-spec> ] - View device log
查看可用日志缓冲区:
adb logcat -b radio — 查看缓冲区的相关的信息.
adb logcat -b events — 查看和事件相关的的缓冲区.
adb logcat -b main — 查看主要的日志缓冲区
5~~~~~~~~~~~Logcat命令列表adb shell dmesg 查询内核缓冲区信息
adb shell dumpstate 各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等
adb shell dumpcrash
adb shell dumpsys 查询所有service的状态
http://www.51testing.com/html/89/373789-806630.html
=====================================================================================
新添加java调试命令
另外 rm mv等命令对大量文件操作时报错 -bash: /bin/rm: Argument list too long也可用xargs 解决
删除当前目录下所有.cpp文件
find . -name "*.cpp" | xargs rm
1.1 find . -name "*.cpp" |grep -v EventHub | xargs grep EventHub
查找.cpp的文件,去掉EventHub文件,再含有eventhub的文件。
(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:
find –name ’tmp’ –xtype c -user ’inin’
% 该命令寻找三个给定条件都满足的所有文件
(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:
find –name ’tmp’ –o –name ’mina*’
% 该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。
(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:
find ! –name ’tmp’
% 该命令查询文件名不是’tmp’的所有文件。
=======================================================================
adb 启动应用程序
http://blog.chinaunix.net/uid-26997997-id-3350449.html