一文掌握ADB的安装及使用

文章目录

  • 一、什么是ADB?
  • 二、 安装ADB
    • 2.1 下载ADB
    • 2.2 配置环境变量
  • 三、连接Android设备
  • 四、 常用ADB命令
  • 五、ADB高级功能
    • 5.1 屏幕截图和录制
    • 5.2 模拟按键输入
    • 5.3 文件管理
    • 5.4 系统设置管理
    • 5.5 系统操作指令
    • 5.6 日志操作指令
    • 5.7 APK操作指令
    • 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. 捕获屏幕截图
# 在设备上捕获屏幕截图并保存到 /sdcard/screenshot.png 
adb shell screencap -p /sdcard/screenshot.png

在这里插入图片描述

  • 2. 将截图拉取到电脑上
# 将截图从设备拉取到电脑上
adb pull /sdcard/screenshot.png .

在这里插入图片描述

  • 3. 捕获设备录屏
# 录制设备屏幕并保存为 /sdcard/video.mp4
adb shell screenrecord /sdcard/video.mp4 

在这里插入图片描述

  • 4. 将录屏拉取到电脑上
# 将录制的视频从设备拉取到电脑上
adb pull /sdcard/video.mp4  .

在这里插入图片描述

5.2 模拟按键输入

  • 1. 模拟按下特定的按键
# 模拟按下特定的按键,如 HOME、BACK、VOLUME_UP 等。
adb shell input keyevent <key_code>

在这里插入图片描述

  • 2. 模拟在屏幕上的特定坐标点击
# 模拟在屏幕上的特定坐标点击
adb shell input tap \<x> \<y> 

在这里插入图片描述

  • 3. 模拟在当前焦点输入文本
# 模拟在当前焦点输入文本
adb shell input text "Hello World"
# 例如当我们焦点处于某文本框时,比如QQ登录界面 

在这里插入图片描述

5.3 文件管理

  • 1. 从设备拉取文件到电脑
# 从设备拉取文件到电脑
adb pull <remote> <local>

在这里插入图片描述

  • 2. 将文件从电脑推送到设备
# 将文件从电脑推送到设备
adb push <local> <remote> 

在这里插入图片描述

  • 3. 在设备上列出目录下的文件
# 在设备上列出 /sdcard 目录下的文件
adb shell ls /sdcard 

在这里插入图片描述

5.4 系统设置管理

  • 1. 获取系统设置的值
# 获取系统设置的值 
adb shell settings get system <setting> 
# 例:
# 获取屏幕亮度的值
adb shell settings get system screen_brightness

在这里插入图片描述

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

在这里插入图片描述

5.5 系统操作指令

  • 1. 获取设备型号
# 获取设备型号
adb shell getprop ro.product.model

在这里插入图片描述

  • 2. 获取安卓系统版本
# 获取Android系统版本
adb shell getprop ro.build.version.release

在这里插入图片描述

  • 3. 获取设备的序列号(设备号)
# 获取设备的序列号(设备号)
adb get-serialno

在这里插入图片描述

  • 4. 获取设备屏幕分辨率
# 获取设备屏幕分辨率
adb shell wm size

在这里插入图片描述

  • 5. 获取前台应用包名
# 查看前台应用包名,必须先启动app,适用于Android 8.0以上
adb shell
dumpsys window | grep mCurrentFocus

在这里插入图片描述

  • 6. 获取手机内存信息
# 获取手机内存信息
adb shell cat /proc/meminfo

在这里插入图片描述

  • 7. 获取手机存储信息
# 获取手机存储信息
adb shell df

在这里插入图片描述

5.6 日志操作指令

  • 1. 清理现有日志
# 清理现有日志
adb shell logcat -c

在这里插入图片描述

  • 2. 输出日志,信息输出在控制台
# 输出日志,信息输出在控制台
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. 列出当前设备/手机,所有的包名
# 列出当前设备/手机,所有的包名
adb shell pm list packages

在这里插入图片描述

  • 2. 显示包和包相关联的文件(安装路径)
# 显示包和包相关联的文件(安装路径)
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. 下载包
# 将本地的apk软件安装到设备(手机)上。如手机外部安装需要密码,记得手机输入密码。
adb install <文件路径\apk>
# 覆盖安装
adb install -r <文件路径\apk>
# 允许降级覆盖安装
adb install -d <文件路径\apk>
# 授权/获取权限,安装软件时把所有权限都打开
adb install -g <文件路径\apk>
  • 4. 卸载包
# 卸载该软件/app
# 注意:安装时安装的是apk,卸载时是包名,可以通过 adb shell pm list packages 查看需要卸载的包名
adb uninstall <包名>
# 虽然把此应用卸载,但仍保存此应用的数据和缓存
adb shell pm uninstall -k <包名>
# 强制退出该应用/app
adb shell am force-stop <包名>

5.8 设备重启和恢复

  • 1. 重启设备
# 重启设备
adb reboot 

在这里插入图片描述

  • 2. 以recovery模式重启设备
# 以 recovery 模式重启设备
adb reboot recovery 

在这里插入图片描述

  • 3. 以bootloader模式重启设备
# 以 bootloader 模式重启设备
adb reboot bootloader  

在这里插入图片描述

六、小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963355.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习与数据挖掘实战】案例11:基于灰色预测和SVR的企业所得税预测分析

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支,专注于让计算机系统通过数据学习和改进。它利用统计和计算方法,使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数据集中发现模式、关联…

bat脚本实现自动化漏洞挖掘

bat脚本 BAT脚本是一种批处理文件&#xff0c;可以在Windows操作系统中自动执行一系列命令。它们可以简化许多日常任务&#xff0c;如文件操作、系统配置等。 bat脚本执行命令 echo off#下面写要执行的命令 httpx 自动存活探测 echo off httpx.exe -l url.txt -o 0.txt nu…

Kafka下载

一、Kafka下载 下载地址&#xff1a;https://kafka.apache.org/downloads 二、Kafka安装 因为选择下载的是 .zip 文件&#xff0c;直接跳过安装&#xff0c;一步到位。 选择在任一磁盘创建空文件夹&#xff08;不要使用中文路径&#xff09;&#xff0c;解压之后把文件夹内容…

学习日记-250202

现在开始要继续写我的日记了......&#xff08;也可以当作笔记吧&#xff09; 一.论文 Prompt Transfer for Dual-Aspect Cross Domain Cognitive Diagnosis 主要内容&#xff1a; 主要是加入prompt提示&#xff0c; 为重叠实体设计个性化的提示&#xff0c;为非重叠实体设计共…

【人工智能学习笔记 一】 AI分层架构、基本概念分类与产品技术架构

新的一年2025要对AI以及LLM有个强化的学习&#xff0c;所以第一篇先对整体有个大概的认知&#xff0c;一直分不清LLM和AI的关系&#xff0c;在整个体系里的位置&#xff0c;以及AIGC是什么东西&#xff0c;AI AGENT类似豆包等和大语言模型的具体关系是什么&#xff0c;整个AI的…

git多人协作

目录 一、项目克隆 二、 1、进入克隆仓库设置 2、协作处理 3、冲突处理 4、多人协作分支的推送拉取删除 1、分支推送&#xff08;2种&#xff09; 2、远程分支拉取&#xff08;2种&#xff09; 3、远程分支删除 一、项目克隆 git clone 画船听雨眠/test1 (自定义的名…

线性数据结构:单向链表

放弃眼高手低&#xff0c;你真正投入学习&#xff0c;会因为找到一个新方法产生成就感&#xff0c;学习不仅是片面的记单词、学高数......只要是提升自己的过程&#xff0c;探索到了未知&#xff0c;就是学习。 目录 一.链表的理解 二.链表的分类&#xff08;重点理解&#xf…

linux下ollama更换模型路径

Linux下更换Ollama模型下载路径指南   在使用Ollama进行AI模型管理时&#xff0c;有时需要根据实际需求更改模型文件的存储路径。本文将详细介绍如何在Linux系统中更改Ollama模型的下载路径。 一、关闭Ollama服务   在更改模型路径之前&#xff0c;需要先停止Ollama服务。…

影视文件大数据高速分发方案

在当今的数字时代&#xff0c;影视行业的内容创作和传播方式经历了翻天覆地的变化。随着4K、8K高清视频的普及&#xff0c;以及虚拟现实(VR)和增强现实(AR)技术的发展&#xff0c;影视文件的数据量正以前所未有的速度增长。这就要求行业内的参与者必须拥有高效的大数据传输解决…

【AI】探索自然语言处理(NLP):从基础到前沿技术及代码实践

Hi &#xff01; 云边有个稻草人-CSDN博客 必须有为成功付出代价的决心&#xff0c;然后想办法付出这个代价。 目录 引言 1. 什么是自然语言处理&#xff08;NLP&#xff09;&#xff1f; 2. NLP的基础技术 2.1 词袋模型&#xff08;Bag-of-Words&#xff0c;BoW&#xff…

HTMLCSS :下雪了

这段代码创建了一个动态的雪花飘落加载动画&#xff0c;通过 CSS 技术实现了雪花的下落和消失效果&#xff0c;为页面添加了视觉吸引力和动态感。 大家复制代码时&#xff0c;可能会因格式转换出现错乱&#xff0c;导致样式失效。建议先少量复制代码进行测试&#xff0c;若未能…

Android 音视频编解码 -- MediaCodec

引言 如果我们只是简单玩一下音频、视频播放&#xff0c;那么使用 MediaPlayer SurfaceView 播放就可以了&#xff0c;但如果想加个水印&#xff0c;加点其他特效什么的&#xff0c;那就不行了&#xff1b; 学习 Android 自带的硬件码类 – MediaCodec。 MediaCodec 介绍 在A…

一文了解阿里的 Qwen2.5 模型

最近被DeepSeek刷屏了&#xff0c;但是在之外阿里在2025年1月28日推出了Qwen 2.5 Max模型。 Qwen2.5-Max 的特点&#xff1a;大规模的 MoE 模型&#xff0c;预训练于超 20 万亿 tokens&#xff0c;并经过 SFT 和 RLHF 后训练。 性能表现&#xff1a;在多个基准测试中与领先模型…

DeepSeek R1 linux云部署

云平台&#xff1a;AutoDL 模型加载工具&#xff1a;Ollama 参考&#xff1a;https://github.com/ollama/ollama/blob/main/docs/linux.md 下载Ollama 服务器上下载ollama比较慢&#xff0c;因此我使用浏览器先下载到本地电脑上。 https://ollama.com/download/ollama-linux…

FlashAttention v1 论文解读

论文标题&#xff1a;FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 论文地址&#xff1a;https://arxiv.org/pdf/2205.14135 FlashAttention 是一种重新排序注意力计算的算法&#xff0c;它无需任何近似即可加速注意力计算并减少内存占用。…

Vue - shallowRef 和 shallowReactive

一、shallowRef 和 shallowReactive &#xff08;一&#xff09;shallowRef 在 Vue 3 中&#xff0c;shallowRef 是一个用于创建响应式引用的 API&#xff0c;它与 ref 相似&#xff0c;但它只会使引用的基本类型&#xff08;如对象、数组等&#xff09;表现为响应式&#xf…

【深度学习】softmax回归的简洁实现

softmax回归的简洁实现 我们发现(通过深度学习框架的高级API能够使实现)(softmax)线性(回归变得更加容易)。 同样&#xff0c;通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节继续使用Fashion-MNIST数据集&#xff0c;并保持批量大小为256。 import torch …

ESP32-c3实现获取土壤湿度(ADC模拟量)

1硬件实物图 2引脚定义 3使用说明 4实例代码 // 定义土壤湿度传感器连接的模拟输入引脚 const int soilMoisturePin 2; // 假设连接到GPIO2void setup() {// 初始化串口通信Serial.begin(115200); }void loop() {// 读取土壤湿度传感器的模拟值int sensorValue analogRead…

【python】python油田数据分析与可视化(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【python】python油田数据分析与可视化&#xff08…

代码讲解系列-CV(一)——CV基础框架

文章目录 一、环境配置IDE选择一套完整复现安装自定义cuda算子 二、Linux基础文件和目录操作查看显卡状态压缩和解压 三、常用工具和pipeline远程文件工具版本管理代码辅助工具 随手记录下一个晚课 一、环境配置 pytorch是AI框架用的很多&#xff0c;或者 其他是国内的框架 an…