菜鸟科技网

手机adb命令行有哪些常用指令?

手机adb命令行是Android调试桥(Android Debug Bridge)的命令行工具,它允许用户与Android设备进行通信,执行各种调试和管理操作,通过adb,开发者可以安装应用、调试代码、访问设备文件系统、运行shell命令等,是Android开发和测试中不可或缺的工具,adb工具包含三个主要部分:客户端(运行在开发机器上)、守护进程(adbd,运行在Android设备上)以及服务器(管理客户端和守护进程之间的通信),要使用adb命令,首先需要在开发机器上安装Android SDK Platform Tools,并确保设备开启了USB调试模式。

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

在Windows系统中,adb命令通常通过命令提示符(CMD)或PowerShell执行;在macOS或Linux系统中,则通过终端(Terminal)运行,连接设备后,可以通过adb devices命令检查设备是否被正确识别,该命令会列出所有已连接的设备及其状态,设备状态为device表示已授权且可正常使用,如果设备未授权,需要在手机上弹出对话框中点击“允许”以建立连接,对于无线调试,可以通过adb tcpip 5555将设备切换到TCP模式,然后使用adb connect <设备IP地址>:5555进行无线连接,无需数据线即可操作。

adb的核心功能之一是应用管理,包括安装、卸载和备份,安装应用使用adb install <路径>命令,例如adb install app.apk;若要覆盖安装已存在的应用,可添加-r参数,即adb install -r app.apk,卸载应用时,需使用包名,命令为adb uninstall <包名>,例如adb uninstall com.example.app,备份应用数据可通过adb backup -f backup.ab -noapk <包名>实现,其中-f指定备份文件名,-noapk表示不备份APK文件本身,恢复备份则使用adb restore backup.ab命令。

文件传输是另一项常用功能,通过adb pull <设备路径> <本地路径>可将设备文件复制到电脑,例如adb pull /sdcard/DCIM/Camera/ ./photos/;而adb push <本地路径> <设备路径>则将电脑文件推送到设备,如adb push ./file.txt /sdcard/,对于大文件传输,建议使用adb sync命令,该命令会根据指定目录下的规则文件同步文件系统,效率较高。

adb还支持强大的Shell命令交互,通过adb shell进入设备的Linux环境后,可执行常规Linux命令,如ls列出目录、pm list packages查看已安装应用列表、dumpsys battery获取电池信息等,要强制停止某个应用,可执行adb shell am force-stop <包名>;要清除应用缓存,则使用adb shell pm clear <包名>adb shell top可查看当前运行的进程,adb shell dumpsys activity则能输出详细的Activity管理器信息,便于调试应用崩溃或卡顿问题。

手机adb命令行有哪些常用指令?-图2
(图片来源网络,侵删)

在调试方面,adb提供了日志查看功能,adb logcat命令用于实时打印系统日志,可通过adb logcat -s <标签名>过滤特定标签的日志,如adb logcat -s ActivityManager仅显示Activity管理器相关日志,结合grep工具可进一步筛选,例如adb logcat | grep "Error"过滤包含“Error”的日志,对于性能分析,adb shell dumpsys cpuinfo可查看各CPU占用率,adb shell dumpsys meminfo <包名>则能获取应用的内存使用情况。

adb还支持截图和录屏功能,截图使用adb shell screencap -p /sdcard/screenshot.png,截图文件会保存到设备指定路径,然后可通过adb pull命令导出到电脑,录屏功能通过adb shell screenrecord /sdcard/video.mp4启动,默认录制时长为180秒,可通过--time-limit <秒数>调整,如adb shell screenrecord --time-limit 60 /sdcard/video.mp4,录制完成后同样可通过adb pull获取视频文件。

对于高级用户,adb还可用于系统级操作,如重启设备(adb reboot)、进入恢复模式(adb reboot recovery)、解锁Bootloader(需配合fastboot工具)等,在安全测试中,adb shell pm grant <包名> <权限>可动态授予应用权限,adb shell pm revoke <包名> <权限>则用于撤销权限。adb shell settings put global <设置项> <值>可修改系统设置,例如adb shell settings put global airplane_mode_on 1开启飞行模式。

以下表格总结了常用adb命令及其功能:

手机adb命令行有哪些常用指令?-图3
(图片来源网络,侵删)
命令分类 命令示例 功能说明
设备连接 adb devices 列出已连接设备
adb tcpip 5555 切换设备为TCP模式
adb connect 5555 无线连接设备
应用管理 adb install app.apk 安装应用
adb uninstall com.example.app 卸载应用
adb backup -f backup.ab -noapk 备份应用数据
文件传输 adb pull /sdcard/file ./ 拉取设备文件到本地
adb push ./file /sdcard/ 推送本地文件到设备
Shell命令 adb shell 进入设备Shell环境
adb shell pm list packages 列出已安装应用包名
日志查看 adb logcat 实时查看系统日志
adb logcat -s ActivityManager 过滤特定标签日志
截图录屏 adb shell screencap -p /sdcard/s.png 截图并保存到设备
adb shell screenrecord /sdcard/v.mp4 录屏并保存到设备
系统操作 adb reboot 重启设备
adb shell settings put global airplane_mode_on 1 修改系统设置

相关问答FAQs:

  1. 问题:adb devices命令显示“unauthorized”怎么办?
    解答:这表示设备未授权电脑调试,请确保设备已开启USB调试模式,并通过数据线连接电脑,然后在手机弹出的“允许USB调试”对话框中点击“允许”,如果未弹出对话框,可尝试重新插拔数据线或重启设备,对于部分品牌手机(如小米、华为),可能需在开发者选项中额外开启“USB调试(安全设置)”并信任当前电脑。

  2. 问题:如何通过adb批量卸载多个应用?
    解答:可通过编写脚本实现批量卸载,在Linux或macOS终端中,可使用以下命令:

    for pkg in com.package1 com.package2 com.package3; do  
        adb uninstall "$pkg"  
    done  

    在Windows CMD中,可使用:

    for %p in (com.package1 com.package2 com.package3) do adb uninstall "%p"  

    其中com.package1等需替换为实际包名,若需导出已安装应用列表,可先执行adb shell pm list packages > packages.txt,再从文件中提取包名进行处理。

分享:
扫描分享到社交APP
上一篇
下一篇