菜鸟科技网

安卓手机adb命令有哪些常用操作?

安卓手机adb命令是Android调试桥(Android Debug Bridge)的命令行工具,它允许用户与连接的安卓设备进行通信,执行各种调试、管理和开发操作,adb命令是安卓开发者、高级用户和技术爱好者必备的工具,其功能强大且应用场景广泛,涵盖了设备调试、文件传输、系统操作、应用管理等多个方面,以下将从基础概念、常用命令分类、实际应用场景及注意事项等方面进行详细阐述。

安卓手机adb命令有哪些常用操作?-图1
(图片来源网络,侵删)

adb基础概念与环境搭建

adb工具包含三个主要部分:客户端(运行在电脑端)、守护进程(adbd,运行在安卓设备上)以及服务器(运行在电脑端,负责管理客户端与守护进程的通信),要使用adb命令,首先需要完成环境搭建:1. 下载并安装Android SDK Platform Tools,将其中的adb.exe(Windows)或adb(Mac/Linux)添加到系统环境变量中;2. 在手机上启用“开发者选项”和“USB调试模式”,不同品牌手机开启路径可能略有差异,通常在“设置-关于手机”连续点击“版本号”7次即可激活开发者选项,随后在开发者选项中开启USB调试;3. 通过USB线连接手机与电脑,首次连接需在手机上授权电脑调试权限,后续连接可直接使用。

常用adb命令分类详解

设备连接与状态查询

  • adb devices:列出当前连接的所有设备及其状态(device表示已授权,unauthorized表示未授权,offline表示离线),该命令是确认设备是否成功连接并调试的第一步。
  • adb get-state:获取当前连接设备的唯一标识符(序列号),方便多设备环境下指定操作目标。
  • adb -s <序列号> <命令>:在多设备场景下,通过序列号指定目标设备执行命令,例如adb -s ABC123 install app.apk

应用管理

  • adb install <路径>:安装指定路径的APK文件,支持-r参数覆盖安装已存在的应用,-d参数降级安装(需应用签名一致),-g参数授予应用所有运行时权限。
  • adb uninstall <包名>:卸载指定应用,-k参数可保留应用数据与缓存。
  • adb shell pm list packages:列出设备上已安装的所有应用包名,结合-f可显示包名对应的APK路径,-3仅显示第三方应用,-s仅显示系统应用。
  • adb shell am force-stop <包名>:强制停止指定应用的进程,适用于应用卡死或异常场景。
  • adb shell dumpsys activity top | findstr "ACTIVITY":查看当前前台运行的Activity组件名称,用于调试界面跳转或Activity生命周期问题。

文件系统操作

  • adb push <本地路径> <设备路径>:将电脑文件复制到设备,例如adb push C:/test.txt /sdcard/
  • adb pull <设备路径> <本地路径>:将设备文件复制到电脑,例如adb pull /sdcard/test.txt C:/
  • adb shell ls <路径>:列出设备指定目录下的文件列表,例如adb shell ls /sdcard/
  • adb shell rm <路径>:删除设备指定文件,adb shell rmdir <路径>删除空目录,adb shell rm -r <路径>递归删除目录及其内容。

系统与设备信息

  • adb shell getprop <属性名>:获取系统属性值,例如adb shell getprop ro.product.model获取设备型号,adb shell getprop ro.build.version.release获取安卓系统版本。
  • adb shell dumpsys battery:查看电池状态信息,包括电量、健康状态、温度等,结合dumpsys battery set status <状态>可模拟电池状态(需root权限)。
  • adb shell settings get global airplane_mode_on:检查飞行模式状态,adb shell settings put global airplane_mode_on 1开启飞行模式(需root权限)。
  • adb shell screenoff:关闭屏幕,adb shell input keyevent KEYCODE_POWER模拟电源键操作。

日志与调试

  • adb logcat:实时查看系统日志,支持过滤功能,例如adb logcat -s tag_name过滤指定标签的日志,adb logcat *:E只显示错误级别及以上日志,adb logcat -c清除历史日志。
  • adb shell dumpsys <服务名>:导出系统服务信息,例如dumpsys meminfo <包名>查看应用内存占用,dumpsys window查看窗口管理信息,dumpsys activity查看Activity栈信息。
  • adb shell top:实时查看设备运行的进程列表,包括PID、CPU占用、内存占用等信息,-m参数限制显示行数,-n指定进程数量。

网络与端口转发

  • adb forward tcp:<本地端口> tcp:<设备端口>:将本地端口转发到设备端口,例如adb forward tcp:8080 tcp:8080实现本地与设备的端口映射,便于调试网络应用。
  • adb shell netstat -tuln:查看设备开放的端口及监听状态,结合adb shell netstat -an | grep <端口>可筛选特定端口信息。

高级应用场景

  • 自动化测试:结合adb shell input命令模拟用户操作,例如adb shell input tap 500 500模拟点击屏幕坐标(500,500),adb shell input text "hello"输入文本,adb shell input keyevent KEYCODE_HOME模拟按下Home键,可编写脚本实现UI自动化测试。
  • 刷机与救砖:通过adb reboot bootloader进入Bootloader模式,adb fastboot oem unlock解锁Bootloader(需设备支持),配合fastboot命令可刷入Recovery或ROM固件,适用于设备系统损坏时的修复。
  • 数据备份与恢复:使用adb backup -f backup.apk -all -noapk备份应用数据(需root权限),adb restore backup.apk恢复备份数据,但部分应用可能因加密限制无法完整备份。
  • 性能分析:通过adb shell dumpsys cpuinfo查看CPU占用情况,adb shell procrank查看进程内存排序(需root权限),结合Android Profiler工具可进行更详细的性能监控。

注意事项

  1. 权限与安全:adb操作具有较高的系统权限,避免在未知来源的设备上启用USB调试,防止数据泄露;部分高级命令(如修改系统设置、root操作)需要设备获取root权限,操作前需评估风险。
  2. 兼容性问题:不同安卓版本、设备厂商(如小米、华为、三星)可能对adb命令的支持存在差异,例如部分厂商修改了系统服务名称,导致dumpsys命令输出内容不一致,需结合设备实际情况调整命令。
  3. 多设备管理:当连接多台设备时,务必使用-s参数指定设备序列号,避免误操作;可通过adb devices -l查看设备详细信息(如设备型号、USB端口)。
  4. 性能影响:长时间运行logcat或频繁执行文件操作可能增加设备负载,调试完成后建议及时关闭不必要的adb进程。

相关问答FAQs

Q1: 提示“adb command not found”错误如何解决?
A1: 该错误通常表示adb未正确添加到系统环境变量,解决方法:1. 确认Android SDK Platform Tools已正确安装;2. 在Windows中,将adb.exe所在目录添加到“系统变量-PATH”中;在Mac/Linux中,将adb路径添加到~/.bashrc或~/.zshrc文件,并执行source ~/.bashrcsource ~/.zshrc使配置生效;3. 重启终端或电脑后再次尝试。

Q2: adb连接时显示“unauthorized”怎么办?
A2: “unauthorized”表示手机未授权电脑调试权限,解决步骤:1. 检查USB线是否正常连接,建议使用原装数据线;2. 在手机设置中开启“USB调试模式”;3. 断开并重新连接USB线,手机弹窗提示“允许USB调试吗?”,勾选“始终允许”并点击“允许”;4. 若未弹窗,可尝试重启手机或电脑,或更换USB接口;5. 部分设备(如华为)需在“设置-开发人员选项-USB调试安全权限”中添加信任电脑。

安卓手机adb命令有哪些常用操作?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇