安卓调试桥ADB

Logcat 命令行工具  |  Android Studio  |  Android Developers

什么是ADB

ADB 全称为 Android Debug Bridge ,是 Android SDK (安卓的开发工具)中的一个工具,起到调试桥的作用,是一个 客户端 - 服务器端程序 。其中 客户端 是用来操作的电脑, 服务端 Android 设备。
可以直接操作管理 Android 模拟器 或者 真实的 Android 设备(真机)
包括以下三个组件:
客户端 :用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端( cmd )调 用客户端。
守护程序 (adbd) :用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。 - 手机上
服务器 :用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

安装adb

ADB,即Android Debug Bridge,是一个Android调试工具。以下是如何安装ADB的步骤:

下载ADB安装包

  • 你可以通过Android SDK安装ADB。ADB包含在Android SDK平台工具软件包中,安装完安卓SDK后,ADB会安装在“android_sdk/platform-tools/”目录下。

你也可以直接下载ADB安装包。具体的下载地址会根据你的操作系统而有所不同。例如,Windows版本的下载地址可能是https://dl.google.com/android/repository/platform-tools-latest-windows.zip,而Mac和Linux版本则会有相应的下载链接

2、解压安装包:下载完成后,你需要解压这个安装包。解压后,你会看到adb工具以及其他一些相关的文件。

3、配置环境变量:为了使ADB工具能在命令行中使用,你需要将其路径添加到系统的环境变量中。

打开电脑的设置,选择“高级系统设置”,然后点击“环境变量设置”。

在系统变量中找到并选择“Path”变量,然后点击“编辑”。

在“变量值”字段中,添加ADB工具的路径。例如,如果你的ADB工具解压在“C:\adb”目录下,那么你就需要在这个字段中添加“;C:\adb”

4、验证安装:配置完环境变量后,你可以打开命令提示符(Windows)或终端(Mac/Linux),输入adb version来查看ADB的版本,以确认ADB是否已成功安装并配置。

连接模拟器

安装夜神模拟器,需要使用安装的adb.exe替换模拟器中的nox_adb.exe。

查看adb版本

ADB常用命令

开启模拟器,输入如下命令,显示连接的模拟器设备。

查看当前连接设备

adb devices

查看设备状态

device正常连接 offline 离线 unknown没有连接设备

adb root:获取Android管理员(root用户)的权限

adb shell:登录设备shell,这个命令将登录设备的shell(内核),登录shell后可以使用cd、ls、rm等

linux命令

查看应用包名

• adb shell pm list packages 显示所有包名

• adb shell pm list packages –s 显示系统应用包名

• adb shell pm list packages -3 显示第三方应用包名

• ls /data/data 显示所有包名

安装应用

• adb install <apk文件路径>:将本地apk软件安装到设备上,如果已经存在则无法安装

• adb install -r <apk电脑上的路径> :将本地apk软件安装到设备上,入如果已经存在则覆盖

卸载应用

• adb uninstall <apk包名>:卸载应用

• adb uninstall -k <apk包名>:将设备上apk卸载,但是保留配置和缓存文件

复制文件

adb push <本地路径> <远程路径>:把本地的文件或文件夹复制到设备(手机)

adb push使用中文路径名导入后找不到,

重新push一个英文路径名即可

adb pull <远程路径> <本地路径> :把设备(手机)的文件或文件夹复制到本地(最好创建

一个目录存放)

日志操作

抓取日志

adb logcat:抓取日志,ctrl+c结束

logcat可以查看手机4个缓冲区日志,包括radio,system,main,event;

• radio 存放通信的日志,比如通话短信等;

• event 表示手机按键输出等事件日志等;

• main 指的是手机的应用软件的日志,是应用层日志输出;

• system是系统组日志。

• 如果不指定,则默认输出main和system的日志,

如果需要指定,则需要使用参数

ü logcat是实时日志,在你操作软件的同时,同步会输出日志信息。

1. adb logcat -b 指定缓冲区 如:adb logcat -b main 输出main的日志

2. adb logcat -v time 如:adb logcat -v time 输出的日志同步打印时间

3. adb logcat -v time -b 执行缓冲区 如:adb logcat -v time -b system

4. adb logcat –v time -b 执行缓冲区>d:\ logcat.log 输出的日志保存在本地的文件上

清除日志缓存

 adb logcat -c 清理日志

6. adb logcat *:E 日志筛选,只输出error日志

日志操作

adb bugreport:输出日志(包括logcat日志),同时也包括功耗、CPU等日志信息。只支持

Android7.0以上的版本,生成日志后会自动保存到电脑本地。

 

如果你想要将adb bugreport的输出保存到特定的文件或位置,你可以使用命令行参数来指定路径。例如,你可以使用类似adb bugreport D:\ProjectResources\logs的命令将报告保存到D盘的ProjectResources\logs目录下。

重启设备

adb reboot

当你使用这个命令时,它会向设备发送一个重启请求,然后设备会开始关闭并重新启动其操作系统。

获取序列号

adb get-serialno

查看ADB命令帮助

adb help

关闭adb服务

adb kill-server

启动adb服务

adb start-server

获得root权限

adb root

获取system文件夹读写权限

adb remount

Adb shell 

android是一种基于linux的自由及开放源代码的操作系统,adb shell命令是一个linux的shell,用来调试android系统内置的一些命令。

进入shell

adb shell进入shell,可执行ls cd exit等命令

启动activity

adb shell am start 包名

monkey测试

adb shell monkey 进行monkey测试

获取设备型号

adb shell getprop ro.product.model

获取设备android系统版本 

adb shell getprop ro.build.version.release:

获取设备屏幕分辨率 

adb shell wm size

截图

adb shell screencap -p /sdcard/mms.png:屏幕截图

adb pull /sdcard/mms.png D:\app:将截图导出到本地

查看系统信息-dumpsys

adb shell dumpsys meminfo <包名>:查看应用内存使用情况

查看当前打开的应用包名和界面 

adb shell dumpsys window windows | findstr mFocusedApp:查看当前打开的应用包名和界面

adb shell dumpsys activity | find "mFocusedActivity":查看当前打开的界面

C:\Users\>adb shell dumpsys window windows | findstr mFocusedApp
  mFocusedApp=AppWindowToken{a911cd token=Token{5a7db64 ActivityRecord{15a00f7 u0 net.oschina.app/.improve.home.HomeActivity t3}}}

C:\Users\>adb shell dumpsys activity | find "mFocusedActivity"
  mFocusedActivity: ActivityRecord{15a00f7 u0 net.oschina.app/.improve.home.HomeActivity t3}

启动activity

启动activity,必须指定activity

C:\Users\>adb shell am start net.oschina.app/.improve.home.HomeActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=net.oschina.app/.improve.home.HomeActivity }

关闭应用

 adb shell am force-stop 包名

input指令

1. 模拟按键/输入-input

adb shell input keyevent <keycode>:模拟键盘操作,不同的keycode能实现不同的功能

• Android adb keyevent 键值大全:Android adb keyevent 键值大全-CSDN博客

adb shell input swipe 300 1000 300 500:模拟滑动操作,从300,1000滑动到300,500坐标

adb shell input text hello:模拟文本输入操作,要求:焦点在某文本框中

清除应用数据与缓存

adb shell pm clear 包名

关闭设备

adb shell stop

启动设备

adb shell start

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

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

相关文章

泛型,数据结构,集合

文章目录 泛型介绍解决问题好处使用通配符泛型的下限泛型的上限 数据结构定义常见的数据结构栈(先进后出)队列(先进先出)数组结构链表结构哈希表结构 集合List集合特点特有方法子类及其底层数据结构LinkedList集合 Set集合特点没有特有方法子类及其底层数据结构LinkedHashSet集…

HarmonyOS 应用开发之Want的定义与用途

Want 是一种对象&#xff0c;用于在应用组件之间传递信息。 其中&#xff0c;一种常见的使用场景是作为 startAbility() 方法的参数。例如&#xff0c;当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时&#xff0c;可以使用Want作为一个载体&#xff0c;将数据传递…

I.MX6ULL_Linux_系统篇(25) buildroot文件系统构建

前面我们学习了如何使用 busybox 来构建根文件系统&#xff0c;但是 busybox 构建的根文件系统不齐全&#xff0c;很多东西需要我们自行添加&#xff0c;比如 lib 库文件。在我们后面的驱动开发中很多第三方软件也需要我们自己去移植&#xff0c;这些第三方软件有很多又依赖其他…

Linux命令及中间件安装

一.Linux简介 1.Linux操作系统概述 Linux是基于Unix的开源免费的操作系统&#xff0c;由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds&#xff08;林纳斯托瓦兹&#xff09;起初开发的&#xff0c;由于源代码的开放性&#xff0c;现在…

系统分析师-数学与经济管理

系统架构设计师 系统架构设计师-软件开发模型总结 文章目录 系统架构设计师前言一、最小生成树二、最短路径三、网络与最大流量四、不确定型决策 前言 数学是一种严谨、缜密的科学&#xff0c;学习应用数学知识&#xff0c;可以培养系统架构设计师的抽象思维能力和逻辑推理能…

sheng的学习笔记-AI-人脸识别

目录:sheng的学习笔记-AI目录-CSDN博客 需要学习卷机神经网络等知识&#xff0c;见ai目录 目录 基础知识&#xff1a; 人脸验证&#xff08;face verification&#xff09; 人脸识别&#xff08;face recognition&#xff09; One-Shot学习&#xff08;One-shot learning&…

探索数据库--------------mysql主从复制和读写分离

目录 前言 为什么要主从复制&#xff1f; 主从复制谁复制谁&#xff1f; 数据放在什么地方&#xff1f; 一、mysql支持的复制类型 1.1STATEMENT&#xff1a;基于语句的复制 1.2ROW&#xff1a;基于行的复制 1.3MIXED&#xff1a;混合类型的复制 二、主从复制的工作过程 三个重…

踏入网页抓取的旅程:使用 grequests 构建 Go 视频下载器

引言 在当今数字化的世界中&#xff0c;网页抓取技术变得越来越重要。无论是获取数据、分析信息&#xff0c;还是构建自定义应用程序&#xff0c;我们都需要从互联网上抓取数据。本文将介绍如何使用 Go 编程语言和 grequests 库来构建一个简单的 Bilibili 视频下载器&#xff…

《亮数据:爬虫数据采集行业痛点的利器》

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

IDEA2023使用手册 【持续更新...】

IDEA介绍 IDEA官网&#xff1a;https://www.jetbrains.com.cn/idea/IDEA 2023.2.2下载地址&#xff1a;https://download.jetbrains.com/idea/ideaIU-2023.2.2.exe对第三方软件的支持&#xff1a;https://www.jetbrains.com/legal/third-party-software/?productiiu&versi…

gin | gin会话控制

会话控制 Cookie介绍 HTTP是无状态协议&#xff0c;服务器不能记录浏览器的访问状态&#xff0c;也就是说服务器不能区分两次请求是否由同一个客户端发出&#xff1b;Cookie 就是解决 HTTP 协议无状态的方案之一&#xff0c;中文是小甜饼的意思&#xff1b;Cookie 实际上就是…

香港90年代著名女歌手病逝终年58岁 抗癌大半年今早睡梦中离世

90年代玉女歌手黎明诗 (Stephanie) 今日&#xff08;3月28日&#xff09;惊爆病逝的消息&#xff0c;终年58岁。不少圈中朋友已收到消息&#xff0c;得悉她的死讯都大感惋惜。据知黎明诗积极抗癌大半年&#xff0c;今早在睡梦中离开。 黎明诗退出乐坛多年&#xff0c;其后在201…

Colorize (Texture Color Palette Modifier)

Colorize提供了无与伦比的区域颜色调整和效果控制,如使用纹理调色板的模型的发射、金属反射和模拟金属遮挡。 Colorize彻底改变了你在Unity中为3D模型添加颜色和生命的方式。无论你是一个独立开发者、艺术家,还是一个大型团队的一员,Colorize都提供了一套直观、强大的工具,…

Wireshark自定义协议解析器插件C语言开发

文章目录 概要Wireshark 软件整体架构基本概念解析器实现逻辑解析器编译环境搭建软件编译过程 概要 Wireshark是一款全球使用与开发维护人数最多的遵循GPL协议开源的网络协议分析软件&#xff0c;全球开发者为Wireshark编写了数千种协议的解析插件。 在实际的工作中&#xff0…

软件工程学习笔记10——开发编码篇2

开发编码篇 一、软件工程师的核心竞争力1、学习能力2、解决问题的能力&#xff08;1&#xff09;发现问题&#xff08;2&#xff09;分析问题&#xff08;1&#xff09;解决问题 3、影响力4、总结 二、如何提升软件工程师的核心竞争力1、如何提升学习能力2、如何提高解决问题的…

【python 数据可视化】 WordCloud词云图

目录 词云简介 准备工作 安装方法一&#xff1a; 安装方法二&#xff1a; 生成词云步骤 数据预处理&#xff1a; 分词&#xff1a; 统计词频出现的次数&#xff1a; 去除词语&#xff1a; 生成词云&#xff1a; 显示词云&#xff1a; 保存词云&#xff1a; 完整代码 词…

Docker搭建LNMP环境实战(07):安装nginx

1、模拟应用场景描述 假设我要搭建一个站点&#xff0c;假设虚拟的域名为&#xff1a;api.test.site&#xff0c;利用docker实现nginxphp-fpmmariadb部署。 2、目录结构 2.1、dockers根目录 由于目前的安装是基于Win10VMWareCentOS虚拟机&#xff0c;同时已经安装了VMWareT…

状态压缩DP【蒙德里安的梦想】

题目描述 输入样例 1 2 1 3 1 4 2 2 2 3 2 4 2 11 4 11 0 0输出样例 1 0 1 2 3 5 144 51205题目链接 https://www.acwing.com/problem/content/293/ 分析 总方案数即为横放的方案数&#xff0c;因为横放完后列填补只会出现一种情况1表示横放&#xff0c;0表示竖放如果合并…

实验2-spark编程

实验目的 &#xff08;1&#xff09;通过实验掌握Spark的基本编程方法&#xff1b; &#xff08;2&#xff09;熟悉RDD到DataFrame的转化方法&#xff1b; &#xff08;3&#xff09;熟悉利用Spark管理来自不同数据源的数据。 实验内容 1&#xff0e;Spark基本操作 请参照…

OpenPLC_Editor 在Ubuntu 虚拟机安装记录

1. OpenPLC_Editor在虚拟机上费劲的装了一遍&#xff0c;有些东西已经忘了&#xff0c;主要还是python3 的缺失库版本对应问题&#xff0c;OpenPLC_Editor使用python3编译的&#xff0c;虚拟机的Ubuntu 18.4 有2.7和3.6两个版本&#xff0c;所以需要注意。 2. OpenPLC_Editor …