查看 keystore文件的签名信息
keytool -list -v -keystore 签名key名字 -storepass 签名key密码
检查apk文件中的签名信息
将apk文件后缀名改成zip,解压出META-INF目录下的CERT.RSA文件,然后用keytool即可查看签名信息:
keytool -printcert -file ~/CERT.RSA
查看连接设备:
adb devices
查看应用oom_adj
adb shell
ps
ps |grep 过滤的包名
cat /proc/进程ID/oom_adj
查看占用端口
netstat -aon|findstr “5037” 找到占用adb5037端口的进程(11900),
tasklist|findstr “23414” 找到23414进程的进程名称(xxx.exe),
taskkill /f /t /im xxx.exe 杀死此进程
Monkey测试
adb shell monkey -p com.xxx -s 23 --throttle 2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>f:\log.txt 2>&1 &
解释:
1. -p后面接着的对应的包名,如果是真机测试,就不需要 -p package_name
2. -s后面是对应的种子数(作用:伪随机数生成器的种子值,如果用相同的种子值再次运行monkey,将生成相同的事件序列。【该种子值对于Bug复现至关重要】
注:如果不指定种子值,系统会随机生成一个种子值,在出现Bug时该种子值会和Bug信息一起被输出,这也是为了便于复现该Bug。)
3. --throttle 用于指定用户操作(即事件)间的时延,单位是毫秒
4. --ignore-crashes --ignore-timeouts 这里是在monkey测试的过程中遇到carash或者timeout的情况时忽略掉,一般不设置时,出现carash或者timeout时,Monkey测试会终止。这里是防止Monkey测试终止。
5. -v 指的是Monkey测试时打印log级别。
6. 100000 这里是指点击的次数,根据测试的经验,对于单个应用程序这个次数设置在100000次就可以了;
7. f:\log.txt测试的log记录在f盘下log.txt里面。
8. 2>&1 固定的写法,这个也很重要,代表的意思是中间忽略的东东的日志一并输入到指定的文件中。
9. 最后单独的一个"&" 是一旦Monkey测试开始了,之后可以拔掉数据线,不会影响Monkey测试。
10. 测试所有模块 monkey -s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000> /data/local/tmp/log.txt 2>&1 &
启动actvity
adb shell am start -n com.example.mytest/com.example.mytest.MainActivity
上传文件:
adb push <本地文件><远程路径> 例:adb push F:\test.txt storage/sdcard
下载文件:
adb pull <远程路径><本地路径> 例:adb pull storage/sdcard/test.txt F:\
将抓取的日志导入到指定文件:
adb logcat >F:\test.txt
输出调试的信息:
adb bugreport
列出所有的包名:
adb shell pm list packages
列出所有的安装应用的信息:
adb shell dumpsys package
查看某个包的具体信息
dumpsys package com.XXX.XXX
查看apk包的相关信息:
aapt dump badging xxx\xxx.apk (执行此命令应进入到android\sdk\build-tools\xx.xx.x\目录下,即aapt.exe所在目录下)
查看所有权限:
adb shell pm list permissions
将cmd命令行窗口的日志保存本地:
例如:adb shell pm list permissions > F:cmd.txt
查看存活的通知监听服务。
adb shell dumpsys notification
蓝色:已授权的通知监听Service列表。
红色:当前存活的的通知监听Service列表。