开发中常用的adb指令

屏幕截图 2024-06-22 075145.png

adb是一款强大的命令行工具,对于 Android 开发和调试至关重要。下面介绍开发过程中,一些常用的 adb 指令。关于 adb 详细的介绍可以看官方文档或者使用 adb --help 命令获取信息。

手机设备相关的命令

首先是 adb devices,它会列出所有可连接的 Android 设备和模拟器,并显示唯一的设备标识符和设备状态。很多时候当我们连接我们的设备时,在 Android 的可连接设备区域找不到我们的设备时(如下图),就可以用这个命令查看当前可用的设备。

屏幕截图 2024-06-23 142917.png

如果 adb devices 也没有找到我们的设备,就可以使用 adb kill-serveradb start-service 命令来重启试试。

如果想看设备的详细信息,可以使用adb devices -l, 它会列出连接设备的其他详细信息,包括产品和型号信息。当然,如果你需要设备的网络、进程、服务等信息,也可以通过adb命令获取。相关命令如下:

  • adb shell netstat:列出设备上的 TCP 连接信息,显示打开的网络连接。
  • adb shell pm list features :列出设备支持的功能。
  • adb shell service list:列出设备上运行的所有服务。
  • adb shell ps:打印设备上当前运行进程的信息。
  • adb shell wm size:显示设备当前的屏幕分辨率。

手机设备相关的命令,除了上面介绍的之外,还有一些不常用的,下面会列出来,了解即可。

  • adb shell screencap -p "/path/to/screenshot.png" : 截屏
  • adb shell screenrecord "/path/to/record.mp4" : 录屏
  • adb reboot:重启已连接的 Android 设备
  • adb -s deviceName command:将命令重定向到由序列号或设备名称标识的特定设备
  • adb –d command:该命令只指向连接的 USB 设备,在连接多个设备时使用
  • adb –e command: 该命令只指向所连接的模拟器

应用相关的命令

屏幕截图 2024-05-17 074925.png

应用安装和卸载

adb install xxx.apk 命令会在连接的设备上安装 Android 应用程序(.apk 文件)。

如果应用之前已经被安装时,就需要带上一个 -r 参数。adb install -r xxx.apk 会在设备上安装或替换应用程序,并保留其数据。其中 -r 参数代表 "替换"。当你想用新版本更新现有应用程序时,这个参数就非常有用。

如果你的应用要求运行时权限,你可以添加 -g 参数,adb install -g xxx.apk 命令会自动授予所有权限(注意:需要在Android 6.0 以上)

如果需要卸载应用,可以使用 adb uninstall package_name 命令, 它会卸载连接的设备上的应用程序。

应用信息

有的时候我们需要获取应用的包名的信息,这时候就可以使用 adb shell list packages 命令,它会列出连接的 Android 设备上安装的所有应用程序的软件包名称列表。如果不想看所有的应用的包名称列表,可以加上参数,可选参数如下:

  • adb shell list packages -r : 仅列出设备上已启用(运行)的软件包。-r 参数过滤输出,只显示当前正在运行的软件包。
  • adb shell list packages -3 : 仅列出设备上安装的第三方(非系统)软件包。-3 参数过滤输出,只显示不属于系统的软件包。
  • adb shell list packages -s :仅列出设备上安装的系统软件包。-s 参数过滤输出,只显示系统中的软件包。
  • adb shell list packages -u : 只列出有可用更新的软件包。-u 参数过滤输出,只显示待更新的软件包。

获取到应用的包名后,我们就可以使用 adb shell dump package-name 获取当前应用的详细信息。用 adb shell path package-name 命令获取当前应用 apk 的文件路径。当然如果你需要获取所有应用的详细信息,你可以使用 adb shell dumpsys package 命令。

多数情况下,我们不需要太详细的信息。一般只需要 activity 的信息就可以了。这时我们可以使用 adb shell dumpsys activity package-name/activity-name 命令,它会获取指定 activity 的信息。

文件操作

我们可以通过 adb push pc-path phone-path 命令,将计算机的文件和目录复制到所连接的Android设备的指定位置上;也可以通过 adb pull phone-path pc-path 命令将 Android 设备的文件和目录复制到指定位置上。

日志相关

在开发中,我们一般使用 Android studio 自带的 logcat 来查看日志。因此 adb 日志相关的命令用的比较少。但是有的时候,由于应用崩溃、日志超过 logcat 限制等问题,我们获取不到对应的日志信息。这时我们可以使用 adb logcat -d > logcat.txt 命令来将日志信息保存在指定文件。

参考



Android 开发中常用的adb指令

作者:小墙程序员
链接:https://juejin.cn/post/7383268946818777103
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值