android adb linux 调试指令

来源:互联网 发布:酷狗音乐网络播放器 编辑:程序博客网 时间:2024/06/10 01:45

给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字符呢,比如中文?
这是个难题

永久地址:http://hmxingkong.ddjava.com/blog/blog.html?blogId=612

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 3

3.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调试命令

 1. 另外 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