adb命令
基本命令:
1、adb devices 查看连接上的所有设备
2、adb reboot 重启设备
3、adb reboot bootloader 重启到刷机模式
4、adb reboot recovery 重启到恢复模式
5、adb install filename 安装apk 例如adb install ***.apk
6、adb install -r filename 重新安装apk并保留数据和缓存,重启后还是原来的apk
7、adb install -s filename 安装apk到sd卡
8、adb uninstall packagename 卸载apk 例如adb uninstall com.***.***
9、adb uninstall -k packagename 卸载apk并保留数据和缓存
10、adb shell am start -npackagename/(packagename).activityname 启动应用
例如com.demo/com.demo.MainActivity或者com.demo/.MainActivity
11、adb shell ps 查看所有进程
12、adb shell kill pid 杀死一个进程 (pid用adb shell ps查看)
13、adb shell ps -x pid 查看指定进程的状态
14、adb shell input keyevent num 模拟简单的按键功能(keyevent num可在后面查看)
15、input text "字符串" 输入字符串,不能输入中文
16、input tap x y 模拟触屏 x y为触屏点的坐标
17、input swipe x1 y1 x2 y2 模拟滑动 x1 y1为开始点的坐标 x2 y2为结束点的坐标
18、adb push <local><remote> 复制文件到设备中
19、adb pull <remote> <local> 从设备中复制文件
20、adb shell service list 查看services列表
21、adb shell sqlite3 执行sql语句(具体怎么执行待查)
22、adb shell su 换成root用户 $会变成#(需要手机已root,需要su文件,百度下载后放在/system/bin下)
23、adb shell ls filepath -l 查看指定文件的信息(权限)
24、adb shell chmod [mode] filename 修改文件的权限(需要root权限)
26、获取设备的id和序列号
adb get-product
adbget-serialno
27、启动/停止Server
adb start-server
adb kill-server
28、列出手机装有的所有的app包名
adb shell pm list packages
29、列出除了系统应用的第三方应用包名
adb shell pm list packages -3
30、清除应用数据与缓存
adb shell pm clear <packagename>
eg:adb shell pm clear cn.zjdata.bredbaby
31、启动应用
adb shell am start -npackagename/Activity
eg: adb shell am start-n cn.zjdata.bredbaby/.module.com.ui.SplashActivity
32、强制停止应用
adb shell am force-stop <packagename>
33、查看日志
adb logcat
34、查看设备型号
adb shell getprop ro.product.model
35、查看屏幕分辨率
adb shell wm size
36、查看屏幕密度
adb shell wm density
37. 退出adb:ctrl + c
38、获取设备信息
39、根据包名获取Pid
两种方式:
①adb shell “ps | grep ”packagename
②adb shell
ps | grep packagename
备注:这里的ps | grep 一定用“”,否则会报错
40、获取本机所有PID的命令
两种方式:
①adb shellps
②adb shellprocrank
41、获取Uid的命令(前提是先获取Pid)
命令为:
adb shell
ps | grepcn.zjdata.bredbaby(获取Pid)
cat 、proc/Pid/status
app性能测试的命令:
1、获取应用启动时间命令,输出文件在sd卡的up.txt文件下
adb logcat -c&& adb logcat -f /mnt/sdcard/up.txt -s Activity(app的Activity)
2、获取cpu占有率
-m: 10表示显示数量为10
-s: 表示按指定行排序
结果参数含义:
PID:progress identification,应用程序ID
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
THR:程序当前所有的线程数
VSS:Virtual Set Size:虚拟耗用内存(包括共享库占用的内存)
RSS:Resident Set Size:实际使用物理内存(包括共享库占用的内存)
PCY:前台(fg)和后台(bg)进程
UID:User Identification:用户身份ID
Name:应用程序名称
3、查看指定程序内存使用情况
adb shell dumpsysmeminfo <package_name>
或adb shell (Enter)dumpsys meminfo <package_name>
结果参数含义:
dalvik:dalvik使用的内存
native:native堆上的内存,指c\c++堆的内容(Android 3.0 以后bitmap就是放在这儿的)
other:除了dalvik和native的内存,包含c\c++非堆内存
Pss:该内存指将共享按比例分配到使用了共享内存的进程
allocated:已使用的内存
free:空闲的内存
private dirty:非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
share dirty:共享,但不能被换页出去的内存
4、获取设备电量
命令:adb shelldumpsys battery
5、发送/接收的流量
发送命令:
①adb shellcat proc/uid_stat/10054(Uid)/tcp_snd
②adb shell
catproc/uid_stat/10054(Uid)/tcp_snd
接收命令:
①adb shellcat proc/uid_stat/10054(Uid)/tcp_rcv
②adb shell
catproc/uid_stat/10054(Uid)/tcp_rcv