* 查看设备
adb devices
ps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
若有多台安卓设备,可以通过在adb后面加上 -s 对指定设备进行装包、卸载等操作
*启动adb
adb start-server
*关闭adb
adb kill-server
* 安装软件
adb install <apk文件路径>
* 卸载软件
adb uninstall <package_name>
注:<package_name>是需要卸载的应用程序的包名
*卸载app但保留数据和缓存文件
adb uninstall -k<package>
*重新启动设别
adb reboot
*重启到bootloader,即刷机模式
adb reboot bootloader
*重启到recovery,即恢复模式
adb reboot recovery
*从电脑上发送文件到设备
adb push <本地路径> <远程路径>
ps: 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
*从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
ps: 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
*取得设备root权限
adb remount
*登录设备shell
adb shell
adb shell <command命令>
ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令
-查看手机产线版本
adb shellcat/sys/devices/mx_tsp/appid
-查看手机运营商版本
adb shellcat/proc/lk_info/sw_version
-查看手机是否加密
adb shellcat/proc/lk_info/sec(返回0则非加密。1则加密)
-查看手机型号
adb shell getpropro.build.product
-安卓版本
adb shell getpropversion.release
-查看flyme版本
adb shell getpropro.build.display.id
*使用adb命令对手机进行截屏并拷贝到电脑
adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手机)
adb pull /sdcard/screenshot.png d:/screenshot.png(拷贝到电脑)
*录制设备屏幕
adb shell screenrecord--bugreport /sdcard/xxx.mp4
*查看性能
adb shell dumpstate
ps其输出内容主要包括以下内容
a.设备基本信息
b.内存使用情况
c.CPU使用情况
d./proc文件夹中保存的系统各种实时信息,特别是内存使用方面的详细信息,如用procrank命令获取的按内存使用率情况排序的进程列表
e.内核的一些信息
f.进程列表
g.各种进程中的线程列表以及各线程的堆栈信息
h.各进程打开的文件
i.Logcat中的三个环状日志的内容,分别是系统主日志SYSTEM、事件日志EVENT和无线电日志RADIO
j.网络相关的信息
k.df命令输入的文件系统使用率信息
l.系统中安装的应用包信息
m.dumpsys命令输出的信息
n.正在运行的应用列表
o.正在运行的服务列表
p.正在运行的内容供应组件列表
*输出当前servers信息
adb shell dumpsys
ps: 输出信息的开始部分就是所有运行的service
-查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。
adb shell dumpsys activity
adb shell dumpsys cpuinfo(CPU)
adb shell dumpsys batterystate(电池)
adb shell dumpsys window(分辨率)
*检测手机运行时间
adb shell uptime
*查看logcat日志
adb logcat -v time-s tag > xxx.log
ps: 其中-v time使输出的日志带时间信息,-s用于通过tag过滤日志(也可以通过管道grep过滤),> 使保存到本地文件。若直接在终端查看日志,则不加。
adb logcat | grep <正则表达式>
ps: grep后为正则表达式
adb logcat | grep <正则表达式> | tee xxx.log
ps:使用 tee可以实现同时在终端输出且保存到文件
*强制杀死进程
adb shell amforce-stop <进程名>
*启动指定Activity
adb shell am start-n <进程名> / <Acitvity>
*开关wifi
adb shell svc wifienable #打开wifi
adb shell svc wifidisable #关闭wifi
*查看wifi密码
adb shell cat/data/misc/wifi/*.conf
*获取序列号
adb get-serialno
*查看设备cpu和内存占用情况
adb shell top
*查看占用内存前6的app
adb shell top -m 6
*刷新一次内存信息,然后返回
adb shell top -n 1
*查询各进程内存使用情况
adb shell procrank
*杀死一个进程
adb shell kill[pid]
*查看进程列表
adb shell ps
*查看指定进程状态
adb shell ps -x[PID]
*查看后台services信息
adb shell servicelist
*查看当前内存占用
adb shell cat/proc/meminfo
*查看IO内存分区
adb shell cat/proc/iomem
*重命名文件
adb shell rename <原文件名> <修改后文件名>
*删除system/avi.apk
adb shell rm/system/avi.apk
*删除文件夹及其下面所有文件
adb shell rm -r <文件夹>
*移动文件
adb shell mv <原文件路径> <修改后文件路径>
*设置文件权限
adb shell chmod 777 <文件>
*新建文件夹
adb shell mkdirpath/foldelname
*查看文件内容
adb shell cat
*清除log缓存
adb logcat -c
*查看bug报告
adb bugreport
*获取设备名称
adb shell cat/system/build.prop
*查看ADB帮助
adb help
*跑monkey
adb shell monkey -p <包名> -v -v -v <次数>
以下是一个实际的Monkey命令示例,该命令对com.example.demo应用程序进行100次随机事件的压力测试:
adb shell monkey -p com.example.demo --throttle 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 100
在这个命令中,-p com.example.demo 表示测试对象是com.example.demo应用程序,--throttle 500 表示每个事件之间的延迟是500毫秒,--ignore-crashes 和 --ignore-timeouts 表示忽略应用程序崩溃和响应超时,--monitor-native-crashes 表示监控本地代码的崩溃,-v -v 表示输出信息的详细级别为2,100 表示触发事件的总数。
*当adb 显示端口被占用,拒绝访问时的处理办法:
adb nodaemon server//查看哪个端口被占用
netstat -ano |findstr "<端口号>" //提示占用该端口的进程(非0地址)
(下面步骤可省略,可通过任务管理器杀死)
tasklist /fi “PIDeq <进程号>”//通过pid查看所有进程
taskkill /pid <进程号>/f//杀死进程