目录
Android 调试桥 (adb)
ADB 是一款多功能命令行工具,可让你通过 USB 或 Wi-Fi 与 Android 设备通信。它用于各种任务,包括:
- 调试应用程序
- 安装和卸载应用
- 传输文件
- 检索设备信息
- 运行 shell 命令
Ubuntu系统安装adb
- 安装 Android SDK Platform Tools
sudo apt install android-tools-adb
- 验证安装
adb version
应该会看到类似以下内容的输出:
Android Debug Bridge version 1.0.41 Version 33.0.3-8889513
- 将adb添加到环境变量
要从任何位置使用 adb,需要将 adb 目录添加到 PATH 变量中。编辑.bashrc
文件:vim ~/.bashrc
在文件的末尾添加以下行:
export PATH=$PATH:/usr/lib/android-sdk/platform-tools
- 重新加载.bashrc文件
source ~/.bashrc
adb命令基础用法
注意:使用 adb 命令需要在设备上启用 USB 调试。位于开发者模式中
- 查看连接设备
adb devices //列出已连接设备的详细信息 adb devices -l //指定设备执行命令 adb devices -s <serial_number> <cmd> //这里的serial_number 就是通过devices列出的序列号 cmd是想要执行的命令 //例如 adb devices -s c5d1ed6baec1e896 shell 进入指定设备的shell
- 安装应用
adb install <path_to_apk> //安装应用到sd卡,对于内部存储空间不足的设备很有用 adb isntall -r <path_to_apk>
- 卸载应用
adb uninstall <package_name> //注意这里是包名,不是install时的文件名 //查看所有包名命令 adb shell pm list packages //卸载应用但保留数据 adb uninstall -k <package_name>
- 启动服务
adb shell start service <service_name> //eg. adb shell start service wifi //需要root权限
- 进入root权限
adb root
- 重新挂载分区(vendor/system可写)
adb remount //一般开发时和root同时执行 //adb root && adb remount
- 查看设备实时日志
adb logcat //可与过滤同时使用 adb logcat | grep xxx //Ubuntu下 adb logcat | findstr xxx //Windows下 //常用 adb logcat -v color //按log等级色彩区分 adb logcat -c //清除log adb logcat | grep need > log.txt //组合使用并重定向到文件
- 从设备中拉取/向设备中推送文件
adb pull <remote> <local> //拉取 adb push <local> <remote> //推送 //eg. 将key.txt push到data下 adb push key.txt /data/check
- 重启设备
adb reboot //后面还有重启到何种模式,在高级用法中。
- 通过wifi连接/断开设备
adb connect <device-ip> adb disconnect <device-ip> //设备ip通过 adb shell ifconfig获取
- 进入设备shell
adb shell //进入shell后支持linux文件操作命令,ls、cd 、mv、cp、rm、mkdir、touch等 //也可以直接adb shell rm xxx 类似这种使用,不进入到shell中。
- 查看版本
adb version
- 查看帮助手册
adb help
- 查看设备上运行的进程
adb shell ps
adb命令高级用法
- 模拟按键输入
adb shell input keyevent <key_code> //例如 adb shell input keyevent 5, 输入一个数字5等
- 获取设备屏幕截图
adb shell screencap -p /sdcard/screenshot.png //存在设备sd卡中 //可以通过基础用法中adb pull拉出 adb pull /sdcard/screenshot.png
- 录制屏幕
adb shell screenrecord /sdcard/demo.mp4
- 查看设备CPU信息
adb shell cat /proc/cpuinfo
- 重启模式
adb reboot bootloader //重启设备进入 bootloader 模式 adb reboot recovery //重启设备进入恢复模式
Bootloader 模式是一个特殊软件界面,允许你对设备进行低级修改,例如:
解锁 bootloader
刷写自定义恢复
安装自定义 ROM
降级或升级固件注意:
进入 bootloader 模式可能会擦除设备上的所有数据。请确保在继续之前已备份重要数据。
并非所有设备都支持 bootloader 解锁。
修改 bootloader 可能会使你的设备保修失效。恢复模式是一个特殊启动分区,允许你对设备进行故障排除和维护任务,例如:
恢复出厂设置
应用系统更新
安装自定义 ROM 或恢复
擦除缓存分区
修复软件问题 - 手动安装OTA下载包
adb sideload <file.zip> //adb sideload 命令用于将 OTA(空中下载)更新包(通常称为 sideload 包)手动安装到连接的Android 设备上。它允许你安装未通过 Google Play 商店提供的自定义 ROM、内核或其他软件更新。 //<package.zip>:要安装的 OTA 更新包的路径。 //要安装名为 lineage-19.1-20230214-nightly-raven-signed.zip 的 LineageOS 19.1 sideload 包,请使用以下命令: adb sideload lineage-19.1-20230214-nightly-raven-signed.zip //注意: // 设备必须处于恢复模式或允许 adb sideload 的自定义恢复模式中。 // sideload 包必须与设备的型号和当前软件版本兼容。 // sideload 过程可能需要一些时间,具体取决于包的大小和设备的速度。
- 启动设备上的程序或活动
adb shell am start <package-name/activity-name>
- 强制停止设备上的应用程序
adb shell am force-stop <package-name> //和上面的启动一般用于调试阶段
- 列出所有安装的包名
adb shell pm list packages //只列出第三方应用包名 adb shell pm list packages -3
- 查看性能指标
adb shell top -m 5 //查看设备上CPU使用率最高的前5个进程 //但其实这是linux top命令的用法,只是通过adb shell可以在设备外执行并反馈结果。
- 端口转发
adb forward tcp:10000 tcp:5555 //将设备上的端口转发到本地计算机的端口。这对于调试和访问设备上的服务非常有用。例如,要将设备上的端口 5555 转发到本地计算机上的端口 10000
- TCP 转发
adb tcpip 5555 adb connect localhost:5555 //可以使用 ADB 在设备和本地计算机之间创建 TCP 连接。这对于与设备上的应用程序通信非常有用。例如,要创建从本地计算机端口 10000 到设备端口 5555 的 TCP 连接。
- 结束进程
adb shell kill <pid> //可以通过进程ID(pid)来结束某个进程。 //查看pid命令: adb shell ps
- 模拟屏幕触控
adb shell input tap x y //在屏幕上模拟点击事件,其中x和y是屏幕坐标。
- 发送广播意图
adb shell am broadcast -a <action>
- 记录设备触摸事件
adb shell getevent
- 输入文本
adb shell input text <text_string> //在当前焦点输入框中输入文本
- 查看设备网络连接状态
adb shell netstat
- 查看系统属性
adb shell getprop
- 设置系统属性
adb shell setprop <property> <value>
标签:sideload,shell,查看,用法,adb,大全,安装,设备 From: https://blog.csdn.net/hkj887tg/article/details/137264562以上命令涵盖了日常开发使用到的百分之95以上,有遗漏后续想到再添加。