直接上指令
adb remount 回车 获得对/system/的读写权限
adb shell am startservice -n com.app.wheater/.CMainService 启动一个服务
adb shell am start -n org.crazyit.other/org.crazyit.other.OtherTest
adb pull /data/config.txt e:\ 将文件或文件夹拷贝到e盘
adb uninstall apk的包名
adb install (apk在PC上的路径/)*.apk
拷贝命令成功后执行rm命令
cp file1 file2 && rm file1
adb shell dumpsys activity top 查看堆栈信息
adb shell wm size 1024x600
adb logcat //显示全部日志
adb logcat > c:\test.log //将日志保存到文件test.log
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
adb logcat -s PowerManagerService //显示PowerManagerService的日志信息
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
unmount sdcard
tar -cf app.tar ./app tar包压缩
tar -xjf dt2.1_06.12.tar.bz2 tar包解压
input tap 180 236 输入坐标
grep -n -R "Configuration" ./frameworks/ 强大过滤功能 -n :顺便输出行号 -i :忽略大小写的不同
以g开头和结尾,中间至少一个o
grep -n 'goo*g'
查找gg中间是任意字符的字符串
grep -n 'g.*g' pp 这里.就代表任意字符
uedit32 xx.txt 用uedit32打开文件xx.txt
setprop sys.usb.config adb
getprop获取配置信息 com.android.providers.settings
system/build.prop
//logcat 过滤
adb logcat -s <tag>[:priority]
-s Set default filter to silent.
Like specifying filterspec '*:s'
options include:
-s Set default filter to silent.
Like specifying filterspec '*:s'
-f <filename> Log to file. Default to stdout
-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
-n <count> Sets max number of rotated logs to <count>, default 4
-M <1,0> Set enable copy(Move) the log to oms_log_path
-v <format> Sets the log print format, where <format> is one of:
brief process tag thread raw time threadtime long
-c clear (flush) the entire log and exit
-d dump the log and then exit (don't block)
-g get the size of the log's ring buffer and exit
-b <buffer> request alternate ring buffer
('main' (default), 'radio', 'events')
-B output the log in binary
where <tag> is a log component tag (or * for all) and priority is:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent (supress all output)
'*' means '*:d' and <tag> by itself means <tag>:v
If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS.
If no filterspec is found, filter defaults to '*:I'
If not specified with -v, format is set from ANDROID_PRINTF_LOG
or defaults to "brief"
- 看radio log
logcat -b radio
I/RILC ( 46): 39 0d 0a
I/RILC ( 46): AT[0]< +ECIND: 1,16,99
I/RILC ( 46): AT[0]< +ECSQ: 16,99
I/RILC ( 46): <<<< pCh[0]...
I/RILC ( 46): 0d 0a 2b 45 43 49 4e 44 3a 20 31 2c 31 37 2c 39 39 0d 0a 0d 0a 2b 45 43 53 51 3a 20 31 37 2c 39
I/RILC ( 46): 39 0d 0a
I/RILC ( 46): AT[0]< +ECIND: 1,17,99
I/RILC ( 46): AT[0]< +ECSQ: 17,99 - 查看warning以上的log
logcat *:w
E/SensorManager( 102): smjni------jni data_open
E/ ( 49): b433 6155
E/ ( 49): b433 6157
E/gralloc ( 102): [unregister] handle 0x2debd0 still lock
W/BatteryService( 102): get battery health[0] 'Charging'
W/BatteryService( 102): get battery health='Good'
W/BatteryService( 102): get battery health[0] 'Charging'
W/BatteryService( 102): get battery health='Good' - 过滤查看dalvikvm的log
logcat -s dalvikvm 或者 logcat dalvikvm *:s
D/dalvikvm( 257): GC freed 1191 objects / 343344 bytes in 65ms
D/dalvikvm( 257): GC freed 1191 objects / 343400 bytes in 64ms
D/dalvikvm( 257): GC freed 1191 objects / 343368 bytes in 65ms
D/dalvikvm( 257): GC freed 1191 objects / 343416 bytes in 70ms
D/dalvikvm( 257): GC freed 1191 objects / 343384 bytes in 64ms
备注:logcat的过滤方式有点儿怪异,并不是直接指定要过滤的tag并指定priority就行,必须要设定所有的为silent,在此基础上设置的tag过滤才成功。
所以,logcat appname:v 是不能成功过滤log的。 - 过滤多个app 的log
logcat -s dalvikvm vold
D/vold ( 43): door_sock=10
D/vold ( 43): fw_sock=7
D/vold ( 43): uevent_sock=6
D/dalvikvm( 257): GC freed 1191 objects / 343384 bytes in 76ms
D/dalvikvm( 257): GC freed 1191 objects / 343368 bytes in 81ms
D/dalvikvm( 257): GC freed 1191 objects / 343400 bytes in 64ms
D/vold ( 43): select result=1 - log保存到文件
logcat > 1.txt (">"是windows用的数据流导向符号)