当前位置: 首页 > article >正文

adb使用及常用命令

目录

介绍

组成

启用adb调试

常用命令

连接设备

版本信息

安装应用

卸载应用

文件操作

日志查看

屏幕截图和录制

设备重启

端口转发

调试相关

设置属性

设备信息查询

获取帮助

模拟输入


介绍

adb全称为 Android Debug Bridge(Android调试桥),是 Android SDK 中提供的用于管理Android 模拟器或真机的工具。

adb是一种功能强大的命令行工具,可让PC端与 Android 设备进行通信。用adb 命令可执行各种操作,如安装和调试 App。

组成

adb采用了客户端-服务器(C/S)模型,包括3个部分,如下图:

图片

adb 的 Client:当 adb运行在计算机上时,我们可以在命令行中通过 adb 命令来调用adb的客户端(Client)。Client本质上就是 Shell,它可以发送命令给 Server。

Client发送命令时,首先会检测PC上有没有启动Server,如果没有启动Server,则会自动启动一个Server,然后将命令发送到Server。

adb的Server:运行在计算机后台的进程,用于管理客户端与运行在模拟器或真机上的守护进程通信。

adb的 daemon:守护进程作为一个后台进程在Android设备或模拟器系统中运行,它的作用是连接 adb 服务端,并且为运行在主机上的 adb 客户端提供一些服务。

启用adb调试

Android 系统的移动设备(如手机)可以通过USB连接到adb,连接时需要在移动设备的系统设置中启用USB 调试(位于手机的开发者选项下),启动USB 调试后,设备上的adb守护进程就会被启动,adb服务端才可以和 Android 设备建立连接。

如果希望计算机连接 Android 模拟器或者真机,需要先打开 USB 调试开关。

(1)模拟器,不需要手动设置 USB 调试开关,默认就是打开的状态。

(2)真机设备,需要手动打开 USB 调试开关。

首先需要在计算机上安装Android 手机驱动,然后打开移动设备的设置应用,进入关于页面,然后开启 USB 调试模式

常用命令

ADB(Android Debug Bridge)是一个通用命令行工具,允许您与连接的Android设备进行通信。它提供了各种设备交互功能,如安装和调试应用程序、管理文件、执行shell命令等。以下是一些常用的ADB命令:

连接设备

adb devices:列出所有通过USB或网络连接的设备。

adb get-state:查看设备的连接状态。

adb connect <device_ip>:<port>:连接到网络上的设备。

版本信息

adb version:查看ADB工具的版本信息。

安装应用

adb install <path_to_apk>:在设备上安装一个APK文件。

adb shell pm list packages:查看设备上安装的所有应用包名。

adb install -r <path_to_apk>:重新安装应用并保留其数据。

卸载应用

adb uninstall <package_name>:卸载指定包名的应用程序。

adb uninstall -k <package_name>:卸载应用程序但保留其数据和缓存目录。

adb shell pm clear [包名]:清除指定应用的数据与缓存。

文件操作

adb push <local> <remote>:将本地文件复制到设备。

adb pull <remote> [<local>]:从设备复制文件到本地。

日志查看

adb logcat:查看设备的实时日志信息。

adb logcat -v time:打印带有时间戳的日志详情。

adb logcat -c:清除设备上的日志信息。

adb logcat > [文件路径]:将日志信息导出到本地文件。

adb bugreport > [文件路径]:生成并导出设备的bug报告。

屏幕截图和录制

adb shell screencap -p > screen.png:捕捉设备屏幕并保存为图片。

adb shell screenrecord <filename>.mp4:开始录制设备屏幕。

设备重启

adb reboot:重启设备。

adb reboot bootloader:重启进入bootloader模式。

adb reboot recovery:重启进入recovery模式。

端口转发

adb forward tcp:<host_port> tcp:<device_port>:将主机端口转发到设备端口。

Shell命令

adb shell:启动交互式shell会话。

adb shell <command>:在设备上执行单个shell命令。

调试相关

adb bugreport:生成并返回设备的bug报告。

设置属性

adb shell setprop <property> <value>:设置系统属性。

设备信息查询

adb shell getprop ro.build.version.release:获取设备的Android版本号。

adb shell cat /proc/cpuinfo:查看设备的CPU信息。

adb shell cat /proc/meminfo:查看设备的内存信息。

adb shell cat /sys/class/net/wlan0/address:查看设备的MAC地址(Wi-Fi)。

获取帮助

adb help:显示命令的帮助信息。

模拟输入

adb shell input text [文本]:模拟输入文本到设备。

adb shell input keyevent [事件代码]:模拟按键事件。

adb shell input tap [x轴坐标] [y轴坐标]:模拟点击屏幕上的指定坐标。

adb shell input swipe [起始x] [起始y] [结束x] [结束y] [持续时间]:模拟屏幕滑动操作

这些命令覆盖了ADB的主要功能,适用于日常的设备管理、应用调试、日志分析等多种场景。请注意,在使用某些命令(如adb root)时,可能需要设备的root权限或特定的解锁状态。同时,为了确保命令的正确执行,建议在执行前仔细核对设备状态、命令格式和参数。

阅读后若有收获,不吝关注,分享,在看等操作!!!


http://www.kler.cn/a/473079.html

相关文章:

  • spring mvc源码学习笔记之九
  • PCL 点云多边形面积计算
  • 鸿蒙APP之从开发到发布的一点心得
  • 《鸿蒙微内核与人工智能算法协同,开启智能系统新时代》
  • excel如何将小数转换为百分比
  • 安卓cpu调度优化
  • JavaEE之定时器及自我实现
  • 闲谭SpringBoot--ShardingSphere分库分表探究
  • spring mvc源码学习笔记之一
  • Java高频面试之SE-10
  • 单片机-外部中断
  • springboot 集成 etcd
  • YCM上告警项怎么修改
  • 【转载记录】Scikit-learn 报错:’super’ object has no attribute ‘__sklearn_tags__’.
  • Perl语言的语法糖
  • 【HTML+CSS+JS+VUE】web前端教程-2-HTML5介绍和基础骨架
  • 【2024华为OD-E卷-100分-boss的收入】(题目+思路+JavaC++Python解析)
  • 【并发篇】CompletableFuture学习
  • JavaScript 正则表达式
  • 代码随想录算法训练营第1天(数组1)| 704. 二分查找、27. 移除元素、977.有序数组的平方
  • 【数据库】SQL相关知识点总结1(数据库约束、三大范式、关系模型、聚合函数)
  • 为什么页面无法正确显示?都有哪些HTML和CSS相关问题?
  • PHP语言的函数实现
  • svelte5中使用react组件
  • 跨界融合:人工智能与区块链如何重新定义数据安全?
  • MATLAB语言的软件工程