一文掌握ADB的安装及使用

文章目录

  • 一、什么是ADB?
  • [二、 安装ADB](#二、 安装ADB)
    • [2.1 下载ADB](#2.1 下载ADB)
    • [2.2 配置环境变量](#2.2 配置环境变量)
  • 三、连接Android设备
  • [四、 常用ADB命令](#四、 常用ADB命令)
  • 五、ADB高级功能
    • [5.1 屏幕截图和录制](#5.1 屏幕截图和录制)
    • [5.2 模拟按键输入](#5.2 模拟按键输入)
    • [5.3 文件管理](#5.3 文件管理)
    • [5.4 系统设置管理](#5.4 系统设置管理)
    • [5.5 系统操作指令](#5.5 系统操作指令)
    • [5.6 日志操作指令](#5.6 日志操作指令)
    • [5.7 APK操作指令](#5.7 APK操作指令)
    • [5.8 设备重启和恢复](#5.8 设备重启和恢复)
  • 六、小结

一、什么是ADB?

ADB(Android Debug Bridge)是一款功能强大的Androd开发工具,可用于在计算机和Android设备之间进行通信和控制。下面我们来看一下ADB的主要功能:

  • 设备管理: 连接和管理Android设备,包括列出所有连接的设备、获取设备信息等。
  • 应用管理: 安装、卸载、启动应用程序,以及查看应用信息等。
  • 文件传输: 在电脑和Android设备之间传输文件,包括拉取和推送文件。
  • 输入模拟: 模拟各种输入事件,如点击、滑动、输入文本等。
  • 屏幕操作: 捕获设备屏幕截图和屏幕录像。
  • 系统调试: 查看系统日志、获取设备属性、执行shell命令等。

二、 安装ADB

2.1 下载ADB

ADB的下载路径如下:

Windows版本: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本: https://dl.google.com/android/repository/platform-tools-latest-linux.zip

2.2 配置环境变量

将ADB的platform-tools目录添加到系统PATH环境变量。这样做是为了方便命令使用,将目录添加到PATH环境变量后,就可以在任何目录下直接使用adb命令,而不需要输入完整的路径。

配置环境变量:

  • 步骤1: 先将下载的安装包进行解压,解压的文件夹中就有adb.exe。

  • 步骤2: 返回桌面,右击【此电脑】->【属性】->【高级系统设置】->【环境变量】

  • 步骤3: 在系统变量中点击【新建】,输入变量名:adb (自定义);

  • 步骤4: 在变量值中添加C:\Users\passion\Downloads\platform-tools(adb的工具路径)

  • 步骤5: 在系统变量path中添加刚刚添加的adb环境。双击Path,点击【新建】输入【%adb%】

  • 步骤6: 打开cmd,输入【adb version】出现版本号则为成功。 如果adb version执行不成功的话,可以重启电脑在试一下。

三、连接Android设备

  • USB调试模式
    在Android设备上进入开发者选项,并启用USB调试。
    用USB数据将设备连接到电脑。
  • 无线连接
    在 Android 设备上进入"开发者选项",并启用"无线调试"。
    在电脑上使用 adb connect 命令连接设备。

四、 常用ADB命令

命令 功能
adb version 显示adb的版本
adb help 帮助信息,查看所有ADB支持的命令
adb devices 列出所有连接的安装设备
adb get-serialno 查看设备号
adb install apk-file 在设备上安装APK文件
adb uninstall package-name 卸载设备上的应用程序
adb pull remote local 从设备拉取文件到电脑
adb push local remote 从文件从电脑推送到设备
adb shell 进入设备的shell环境,可执行各种Android命令
adb root 获取Android管理员(root用户)的权限
adb logcat 查看设备的系统日志
exit 退出
adb kill-server 杀死当前adb服务,如果连不上设备时,杀掉重启。(没事不要用它)
adb start-server 杀掉后重启
adb reboot edl 重启后进入刷机模式
adb reboot fastboot 重启后进入fastboot模式

五、ADB高级功能

5.1 屏幕截图和录制

  • 1. 捕获屏幕截图
bash 复制代码
# 在设备上捕获屏幕截图并保存到 /sdcard/screenshot.png 
adb shell screencap -p /sdcard/screenshot.png
  • 2. 将截图拉取到电脑上
bash 复制代码
# 将截图从设备拉取到电脑上
adb pull /sdcard/screenshot.png .
  • 3. 捕获设备录屏
bash 复制代码
# 录制设备屏幕并保存为 /sdcard/video.mp4
adb shell screenrecord /sdcard/video.mp4 
  • 4. 将录屏拉取到电脑上
bash 复制代码
# 将录制的视频从设备拉取到电脑上
adb pull /sdcard/video.mp4  .

5.2 模拟按键输入

  • 1. 模拟按下特定的按键
bash 复制代码
# 模拟按下特定的按键,如 HOME、BACK、VOLUME_UP 等。
adb shell input keyevent <key_code>
  • 2. 模拟在屏幕上的特定坐标点击
bash 复制代码
# 模拟在屏幕上的特定坐标点击
adb shell input tap \<x> \<y> 
  • 3. 模拟在当前焦点输入文本
bash 复制代码
# 模拟在当前焦点输入文本
adb shell input text "Hello World"
# 例如当我们焦点处于某文本框时,比如QQ登录界面 

5.3 文件管理

  • 1. 从设备拉取文件到电脑
bash 复制代码
# 从设备拉取文件到电脑
adb pull <remote> <local>
  • 2. 将文件从电脑推送到设备
bash 复制代码
# 将文件从电脑推送到设备
adb push <local> <remote> 
  • 3. 在设备上列出目录下的文件
bash 复制代码
# 在设备上列出 /sdcard 目录下的文件
adb shell ls /sdcard 

5.4 系统设置管理

  • 1. 获取系统设置的值
bash 复制代码
# 获取系统设置的值 
adb shell settings get system <setting> 
# 例:
# 获取屏幕亮度的值
adb shell settings get system screen_brightness
  • 2. 修改系统设置的值
bash 复制代码
#修改系统设置的值 可以设置屏幕亮度、自动锁屏时间、开发者选项等
adb shell settings put system <setting> <value> 
# 例:
# 设置屏幕亮度的值为120
adb shell settings put system screen_brightness 120

5.5 系统操作指令

  • 1. 获取设备型号
bash 复制代码
# 获取设备型号
adb shell getprop ro.product.model
  • 2. 获取安卓系统版本
bash 复制代码
# 获取Android系统版本
adb shell getprop ro.build.version.release
  • 3. 获取设备的序列号(设备号)
bash 复制代码
# 获取设备的序列号(设备号)
adb get-serialno
  • 4. 获取设备屏幕分辨率
bash 复制代码
# 获取设备屏幕分辨率
adb shell wm size
  • 5. 获取前台应用包名
bash 复制代码
# 查看前台应用包名,必须先启动app,适用于Android 8.0以上
adb shell
dumpsys window | grep mCurrentFocus
  • 6. 获取手机内存信息
bash 复制代码
# 获取手机内存信息
adb shell cat /proc/meminfo
  • 7. 获取手机存储信息
bash 复制代码
# 获取手机存储信息
adb shell df

5.6 日志操作指令

  • 1. 清理现有日志
bash 复制代码
# 清理现有日志
adb shell logcat -c
  • 2. 输出日志,信息输出在控制台
bash 复制代码
# 输出日志,信息输出在控制台
adb shell logcat -v time
# 输出日志并保存在本地文件
adb shell logcat -v time > <存放路径\log.txt>
# 注:
Ctrl+C:终止日志抓取
adb shell logcat -v time *:E > <存放路径\log.txt>:打印级别为Error的信息
日志的等级:
-v:Verbse(明细)
-d:Debug(调试)
-i:Info(信息)
-w:Warn(警告)
-e:Error(错误)
-f:Fatal(严重错误)
# 抓取日志的步骤
抓取日志的步骤先输入命令启动日志,然后操作 App,复现 bug,再 ctrl+c 停止日志。
分析本地保存的文件。日志是记录手机系统在运行app时有什么异常的事件。
# EXCEPTION
拉取Anr日志
ANR的全称是Application Not Responding,即"应用无响应"。它是指在Android操作系统上,
当应用程序在特定的时间内没有响应用户的输入事件或系统请求时,系统会向用户显示的一个对话框。
这个对话框通常会提示用户该应用程序未响应,并询问用户是希望继续等待还是强制关闭该应用程序。
adb shell pull /data/anr/traces.txt <存放路径>

5.7 APK操作指令

  • 1. 列出当前设备/手机,所有的包名
bash 复制代码
# 列出当前设备/手机,所有的包名
adb shell pm list packages
  • 2. 显示包和包相关联的文件(安装路径)
bash 复制代码
# 显示包和包相关联的文件(安装路径)
adb shell pm list packages -f
# 显示禁用的包名
adb shell pm list packages -d
# 显示当前启用的包名
adb shell pm list packages -e
# 显示系统应用包名
adb shell pm list packages -s
# 显示已安装第三方的包名
adb shell pm list packages -3
# 加需要过滤的包名,如:xxx = tencent
adb shell pm list packages xxxx
  • 3. 下载包
bash 复制代码
# 将本地的apk软件安装到设备(手机)上。如手机外部安装需要密码,记得手机输入密码。
adb install <文件路径\apk>
# 覆盖安装
adb install -r <文件路径\apk>
# 允许降级覆盖安装
adb install -d <文件路径\apk>
# 授权/获取权限,安装软件时把所有权限都打开
adb install -g <文件路径\apk>
  • 4. 卸载包
bash 复制代码
# 卸载该软件/app
# 注意:安装时安装的是apk,卸载时是包名,可以通过 adb shell pm list packages 查看需要卸载的包名
adb uninstall <包名>
# 虽然把此应用卸载,但仍保存此应用的数据和缓存
adb shell pm uninstall -k <包名>
# 强制退出该应用/app
adb shell am force-stop <包名>

5.8 设备重启和恢复

  • 1. 重启设备
bash 复制代码
# 重启设备
adb reboot 
  • 2. 以recovery模式重启设备
bash 复制代码
# 以 recovery 模式重启设备
adb reboot recovery 
  • 3. 以bootloader模式重启设备
bash 复制代码
# 以 bootloader 模式重启设备
adb reboot bootloader  

六、小结

ADB是我们Android开发和调试中不可或缺的工具,希望通过以上这些adb内容分享,可以帮助大家更好的控制和管理Android设备,提升大家的开发效率,后面有新的内容会继续往里面补充。

相关推荐
xq51486325 分钟前
Linux系统下安装mongodb
linux·mongodb
柒七爱吃麻辣烫25 分钟前
在Linux中安装JDK并且搭建Java环境
java·linux·开发语言
自然 醒1 小时前
荣耀手机,系统MagicOS 9.0 USB配置没有音频来源后无法被adb检测到,无法真机调试的解决办法
adb·uni-app
孤寂大仙v1 小时前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
深海蜗牛1 小时前
Jenkins linux安装
linux·jenkins
愚戏师2 小时前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
JANYI20182 小时前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件
熊大如如2 小时前
Java NIO 文件处理接口
java·linux·nio
晚秋大魔王2 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
农民小飞侠2 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu