adb介绍
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。它是一种客户端-服务器程序,包括以下三个组:
- 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令来从命令行终端调用客户端。
- 守护进程 (adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。
- 服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行
详细介绍地址:https://developer.android.google.cn/studio/command-line/adb
1.查看日志
1)获取所有日志
获取所有日志
adb logcat
将日志输出到手机的文件里,路径上的文件夹及文件要已存在,否则提示:couldn't open output file
adb logcat -f /sdcard/1/log/1.txt
将日志输出到电脑的文件里,路径上的文件夹要已存在,1.txt可以不存在自动生成
adb logcat > d:\test\1.txt
过滤包名,可以只查看指定包名的日志,可以跟2)3)结合在一起,输出到对应的目录里
adb logcat | find "com.ucarinc.uhome"
adb logcat | find "com.ucarinc.uhome" > d:\test\1.txt
2)结束获取日志
获取日志都是实时不停的,想要结束获取日志,可以使用快捷键 Ctrl+C
2.文件夹及文件操作
1)创建
逐级创建文件夹
adb shell mkdir /sdcard/1/1
递归创建文件夹
adb shell mkdir -p /sdcard/1/1/2/3
创建文件,上级文件夹要已存在
adb shell touch /sdcard/1/1/1.txt
2)删除
删除文件夹
adb shell rm -f /sdcard/1/1 (强制删除文件不需要确认)
adb shell rm -r /sdcard/1/1 (递归删除文件夹内文件)
adb shell rm -i /sdcard/1/1 (删除文件前需要确认)
adb shell rmdir /sdcard/360 (删除空文件夹)
删除文件
adb shell rm /sdcard/1/1/*.* (所有文件)
adb shell rm /sdcard/1/1/*.txt (txt文件)
adb shell rm /sdcard/1/1/1.txt (指定文件)
3)查看、移动、复制文件
查看文件夹下的内容
adb shell ls /sdcard/1
复制电脑文件到手机sd卡目录
adb push 电脑文件 sd卡目录 (例:adb push D:\test\1.txt /sdcard/1)
复制手机sd卡文件到电脑目录
adb pull sd卡文件 电脑目录 (例:adb pull /sdcard/1/1.txt D:\usr)
复制手机sd卡文件到sd卡其他目录
adb shell sd卡文件 sd卡目录 (例:adb shell cp /sdcard/1/1.txt /sdcard/1/1/)
移动手机sd卡文件到sd卡其他目录
adb shell mv sd卡文件 sd卡目录 (例:adb shell mv /sdcard/1/1.txt /sdcard/1/1/2)
3.应用相关
1)安装、卸载、清除应用
安装apk,apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。
adb install apk路径
覆盖安装(保留缓存和数据)
adb install -r apk路径
卸载apk
adb uninstall 包名
卸载时保留数据和缓存目录
adb uninstall -k 包名
清空指定包名对应的应用的数据和缓存文件
adb shell pm clear 包名
2)查看设备应用信息
获取当前应用包名
adb shell dumpsys window | findstr mCurrentFocus
获取设备所有应用包名
adb shell pm list packages
获取除系统应用的第三方应用包名
adb shell pm list packages -3
获取指定包名对应的apk路径
adb shell pm path 包名
获取当前Activity名称
adb shell dumpsys window | findstr mCurrentFocus
获取应用启动页Activity名称
adb shell
dumpsys package 包名
adb shell 查看文件后退出
exit 或者快捷键 Ctrl+D
启动页的activity
3)应用操作
启动应用
adb shell am start -n 包名/启动页
停止应用
adb shell am force-stop 包名
4.服务、设备相关操作
1)adb 服务
开启服务
adb start-sever
关闭服务
adb stop-server
查看 service
adb shell service list
2)设备
列出设备及其id
adb devices
使用特定设备操作
adb -s device_id
例如:adb -s 47db0de20304 shell
正常重启
adb reboot
重启到 bootloader (刷机模式)
adb reboot bootloader
重启到 recovery (恢复模式)
adb reboot recovery
申请 toot 权限
adb shell
su
3)截屏
截屏
adb shell
screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
录屏
adb shell screenrecord /sdcard/test.mp4
限制录制时间:
adb shell screenrecord --time-limit 10 /sdcard/test.mp4
停止录制
Ctrl + C中断录制,或者到达指定录制时间自动停止
拷贝文件出来
adb pull /storage/sdcard0/test.mp4
4)切换输入法
列出所有输入法
adb shell ime list -a
切换到对应的输入法
adb shell ime set io.appium.android.ime/.UnicodeIME
adb shell ime set com.baidu.input_mi/.ImeService