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权限或特定的解锁状态。同时,为了确保命令的正确执行,建议在执行前仔细核对设备状态、命令格式和参数。
阅读后若有收获,不吝关注,分享,在看等操作!!!
相关文章:

adb使用及常用命令
目录 介绍 组成 启用adb调试 常用命令 连接设备 版本信息 安装应用 卸载应用 文件操作 日志查看 屏幕截图和录制 设备重启 端口转发 调试相关 设置属性 设备信息查询 获取帮助 模拟输入 介绍 adb全称为 Android Debug Bridge(Android调试桥),是 A…...

omnipeek分析beacon帧
omnipeek查询设备发送beacon时同一信道两个beacon发送间隔 目录 用例要求分析抓包数据 1.用例要求 Beacon帧发送频率符合规范要求。参数-【同一个信道两个beacon发送间隔不能超过100ms】 2.分析抓包数据 打开becon.pkt文件(用omnipeek工具提前抓取包)…...
Java数组问题
题目2: 定义一个数组,存储1,2,3,4,5,6,7,8,9,10 遍历数组得到的每一个元素,统计数组里面一共多少个能被3整除的数字 package com.s…...
salesforce 可以为同一个简档的同一个 recordtype 的对象设置多种页面布局吗
在 Salesforce 中,对于同一个 Record Type(记录类型),默认情况下,每个 Profile(用户简档) 只能分配一个 Page Layout(页面布局)。也就是说,页面布局的分配规则…...
使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢
在 Vue 项目中,使用 Webpack 模板 和 vue.config.js 来配置相关插件的主要区别在于配置的复杂度、灵活性和易用性。以下是两者的详细对比: 1. Webpack 模板 Webpack 模板是 Vue CLI 早期版本(如 Vue CLI 2.x)中提供的项目初始化模…...

五、包图
包图 、基本概念 概念: 用来描述模型中的包和其所含元素的组织方式的图,是维护和控制系统总体结构的重要内容。 包可以把所建立的各种模型组织起来,形成各种功能或用途的模块,并可以控制包中元素的可见性以及描述包之间的依赖…...

关于重构一点简单想法
关于重构一点简单想法 当前工作的组内,由于业务开启的时间正好处于集团php-》go技术栈全面迁移的时间点,组内语言技术栈存在:php、go两套。 因此需求开发过程中通常要考虑两套技术栈的逻辑,一些基础的逻辑也没有办法复用。 在这…...

kafka使用以及基于zookeeper集群搭建集群环境
一、环境介绍 zookeeper下载地址:https://zookeeper.apache.org/releases.html kafka下载地址:https://kafka.apache.org/downloads 192.168.142.129 apache-zookeeper-3.8.4-bin.tar.gz kafka_2.13-3.6.0.tgz 192.168.142.130 apache-zookee…...
GAN对抗生成网络(二)——算法及Python实现
1 算法步骤 上一篇提到的GAN的最优化问题是,本文记录如何求解这一问题。 首先为了表示方便,记,这里让最大的可视作常量。 第一步,给定初始的,使用梯度上升找到 ,最大化。关于梯度下降,可以参考笔者另一篇…...
并发线程(21)——线程池
文章目录 二十一、day211. 线程池实现1.1 完整代码1.2 解释 二十一、day21 我们之前在学习std::future、std::async、std::promise相关的知识时,通过std::promise和packaged_task构建了一个可用的线程池,可参考文章:并发编程(6&a…...

基于32单片机的智能语音家居
一、主要功能介绍 以STM32F103C8T6单片机为控制核心,设计一款智能远程家电控制系统,该系统能实现如下功能: 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…...

VScode怎么重启
原文链接:【vscode】vscode重新启动 键盘按下 Ctrl Shift p 打开命令行,如下图: 输入Reload Window,如下图:...

分析服务器 systemctl 启动gozero项目报错的解决方案
### 分析 systemctl start beisen.service 报错 在 Linux 系统中,systemctl 是管理系统和服务的主要工具。当我们尝试重启某个服务时,如果服务启动失败,systemctl 会输出错误信息,帮助我们诊断和解决问题。 本文将通过一个实际的…...
大模型LLM-Prompt-OPTIMAL
1 OPTIMAL OPTIMAL 具体每项内容解释如下: Objective Clarity(目标清晰):明确定义任务的最终目标和预期成果。 Purpose Definition(目的定义):阐述任务的目的和它的重要性。 Information Gat…...

3. 多线程(1) --- 创建线程,Thread类
文章目录 前言1. API2. 创建线程2.1. 继承 Thread类2.2. 实现 Runnable 接口2.3. 匿名内部类2.4. lambda2.5.其他方法 3. Thread类及其常见的方法和属性3.1. Thread 的常见构造方法3.2. Thread 的常见属性3.3. start() --- 启动一个线程3.4. 中断一个线程3.5. 等待线程3.6. 休眠…...

简单的jmeter数据请求学习
简单的jmeter数据请求学习 1.需求 我们的流程服务由原来的workflow-server调用wfms进行了优化,将wfms服务操作并入了workflow-server中,去除了原来的webservice服务调用形式,增加了并发处理,现在想测试模拟一下,在一…...
智能水文:ChatGPT等大语言模型如何提升水资源分析和模型优化的效率
大语言模型与水文水资源领域的融合具有多种具体应用,以下是一些主要的应用实例: 1、时间序列水文数据自动化处理及机器学习模型: ●自动分析流量或降雨量的异常值 ●参数估计,例如PIII型曲线的参数 ●自动分析降雨频率及重现期 ●…...

民宿酒店预订系统小程序+uniapp全开源+搭建教程
一.介绍 一.系统介绍 基于ThinkPHPuniappuView开发的多门店民宿酒店预订管理系统,快速部署属于自己民宿酒店的预订小程序,包含预订、退房、WIFI连接、吐槽、周边信息等功能。提供全部无加密源代码,支持私有化部署。 二.搭建环境 系统环境…...

计算机网络掩码、最小地址、最大地址计算、IP地址个数
一、必备知识 1.无分类地址IPV4地址网络前缀主机号 2.每个IPV4地址由32位二进制数组成 3. /15这个地址表示网络前缀有15位,那么主机号32-1517位。 4.IP地址的个数:2**n (n表示主机号的位数) 5.可用(可分配)IP地址个数&#x…...

Mac中配置vscode(第一期:python开发)
1、终端中安装 xcode-select --install #mac的终端中安装该开发工具 xcode-select -p #显示当前 Xcode 命令行工具的安装路径注意:xcode-select --install是在 macOS 上安装命令行开发工具(Command Line Tools)的关键命令。安装的主要组件包括:C/C 编…...
BERT, GPT, Transformer之间的关系
1. Transformer 是什么?简单介绍 1.1 通俗理解 想象你是一个翻译员,要把一句话从中文翻译成英文。你需要同时看句子里的每个词,理解它们之间的关系。Transformer就像一个超级翻译助手,它用“自注意力机制”(Attentio…...
Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)
#!/bin/bash# 更新系统并安装必要的依赖 sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common# 安装 Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository …...

起重机指挥人员在工作中需要注意哪些安全事项?
起重机指挥人员在作业中承担着协调设备运行、保障作业安全的关键职责,其安全操作直接关系到整个起重作业的安全性。以下从作业前、作业中、作业后的全流程,详细说明指挥人员需注意的安全事项: 一、作业前的安全准备 资质与状态检查ÿ…...

《校园生活平台从 0 到 1 的搭建》第一篇:创建项目与构建目录结构
在本系列第一篇中,我们将从项目初始化开始,搭建基本的目录结构,并完成四个主页面的创建与 TabBar 设置。 (tip:你可能会觉得有点 ai 化,因为这个文案是我自己写了一遍文案之后让 ai 去优化输出的࿰…...
命令行运行python程序报错 ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6
命令行运行python程序报错 ImportError: /lib/x86_64-linux-gnu/libstdc.so.6 ImportError: /lib/x86_64-linux-gnu/libstdc.so.6: version GLIBCXX_3.4.29’ not found (required by /home/zitong/miniconda3/envs/torch112/lib/python3.9/site-packages/scipy/spatial/_ckdt…...
Secs/Gem第十二讲(基于secs4net项目的ChatGpt介绍)
好,那我们进入最关键的一讲—— 第十二讲:完整事件通知流程全景图——CEID 触发到主机接收的全过程 关键词:CEID 事件上报、S6F11 报文、事件触发流程、数据驱动机制、Report Dispatch、主机解析流程 本讲目标 你将彻底理解: 设…...
FastAPI实战起步:从Python环境到你的第一个“Hello World”API接口
上一篇文章中介绍了有关FastAPI的优势,本篇文章我将手把手带你从零开始,搭建FastAPI的开发环境,并成功运行你的第一个“Hello World”API。在开始之前,请确保你的电脑已经安装了Python 3.7或更高版本,以及VS Code&…...
vue3 eslint ts 关闭多单词命名检查
无效做法 import { globalIgnores } from eslint/config import {defineConfigWithVueTs,vueTsConfigs, } from vue/eslint-config-typescript import pluginVue from eslint-plugin-vue import skipFormatting from vue/eslint-config-prettier/skip-formatting// To allow m…...
Qt Quick Test模块功能及架构
Qt Quick Test 是专门为测试 QML 应用程序设计的模块,在 Qt 6.0 中得到了显著增强。 一、主要功能/使用方法 核心功能概述 QML 单元测试框架 提供完整的 QML 测试环境 支持测试用例组织和执行 包含 QML 断言函数和测试结果收集 测试类型支持 组件功能测试 用…...
抖音怎么下载没有水印的视频?
你是不是经常在抖音上刷到喜欢的视频,想保存下来却总是带着烦人的水印?无论是想收藏精彩片段,还是二次创作,水印都成了“拦路虎”。别急!今天就来教你3种超简单方法,轻松下载无水印抖音视频,高清…...