您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > Android

ADB安装及使用详解

时间:2023-03-07 13:05:33  来源:CSDN  作者:

一、ADB简介

1、什么是adb

ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。

ADB 也是 Android SDK 中的一个工具,可以直接操作管理 Android 模拟器或者真实的 Android 设备。

2、为什么要用adb

运行设备的 shell(命令行)
管理模拟器或设备的端口映射
计算机和设备之间上传/下载文件
可以对设备的应用进行卸载安装等
App 遇到 ANR/Crash 等 bug 时,可以通过 ADB 来抓取日志

简而言之,ADB 就是连接 Android 手机与 PC 端的桥梁,所以ADB又称为安卓调试桥(注意:是安卓,不是IOS),可以让用户在电脑上对手机进行全面的操作!

二、准备工具

单独安装adb,不安装sdk

1、下载adb

google很好心,直接放出ADB的zip供人下载。路径如下:

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、配置环境变量

解压安装后,把解压路径放到系统变量里去(Path),

环境变量如何配置,比如我的配置如下图:

3、连接

可以通过模拟器连接,也可以通过数据线连接。

通过数据线连接时,手机进入“开发者选项”,打开“usb调试”。

不同品牌安卓机型,首次打开“开发者选项”方式不一样,大多是双击手机版本号3~5次,会toast提醒“开发者模式已打开”,具体打开方式可根据手机品牌进行百度查询

 4、电脑打开cmd窗口

输入 adb version :显示 adb 版本,说明安装成功

三、ADB命令详解

1、基本命令

adb version :显示 adb 版本

adb help:帮助信息,查看adb所支持的所有命令

 

adb devices:查看当前连接的设备,已连接的设备会显示出来 

 

adb get-serialno:也可以查看设备号

2、权限命令 

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

 

注意:一般测试机可使用root权限。

Android版本9以上,不支持商用机使用root权限,但可以修改底层一些配置

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

adb remount:获取System分区可写权限,需要root后才能有这个权限

3、建立连接

adb -d:如果同时连了usb,又开了模拟器,连接当前唯一通过usb连接的安卓设备

adb -e shell:指定当前连接此电脑的唯一的一个模拟器

adb -s <设备号> shell:当电脑插多台手机或模拟器时,指定一个设备号进行连接

 

exit:退出 

 

adb kill-server:杀死当前adb服务,如果连不上设备时,杀掉重启。(没事不要用它) 

 

adb start-server:杀掉后重启 

 

5037:adb默认端口,如果该端口被占用,可以指定一个端口号,如下命令↓

adb -p 6666 start-server:任意指定一个 adb shell 的端口

 

4、apk 操作指令 

adb shell pm list packages:列出当前设备/手机,所有的包名

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:显示已安装第三方的包名
adb shell pm list packages xxxx:加需要过滤的包名,如:xxx = taobao
adb install <文件路径apk>:将本地的apk软件安装到设备(手机)上。如手机外部安装需要密码,记得手机输入密码。

 adb install -r <文件路径apk>:覆盖安装

 adb install -d <文件路径apk>:允许降级覆盖安装
adb install -g <文件路径apk>:授权/获取权限,安装软件时把所有权限都打开
adb uninstall <包名>:卸载该软件/app。
注意:安装时安装的是apk,卸载时是包名,可以通过 adb shell pm list packages 查看需要卸载的包名。

 

adb shell pm uninstall -k <包名>:虽然把此应用卸载,但仍保存此应用的数据和缓存
adb shell am force-stop <包名>:强制退出该应用/app 

 5、文件操作指令

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

注意点1:pc机路径与Android机路径,分隔符是不同的。

注意点2:复制失败,大概率是无权限。可先使用上面介绍过的两个命令:adb root;adb remount。在使用 adb push 命令

adb pull <手机端路径/文件或文件夹> <pc机路径>:把设备(手机)的文件或文件夹复制到本地。注意点同上

6、日志操作指令

adb shell logcat -c:清理现有日志
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日志拉取出来:adb shell pull /data/anr/traces.txt <存放路径>

7、系统操作指令 

 adb shell getprop ro.product.model:获取设备型号

 

adb shell getprop ro.build.version.release:获取Android系统版本 

在这里插入图片描述 

adb get-serialno:获取设备的序列号(设备号) 

在这里插入图片描述 

adb shell wm size:获取设备屏幕分辨率 

在这里插入图片描述 

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

在这里插入图片描述 

在这里插入图片描述 

adb pull /sdcard/mms.png <存放的路径>:将截图导出到本地
adb pull /sdcard/screenshot.png <存放的路径>:将截图导出到本地 

 adb shell dumpsys activity |find “mResumedActivity”:查看前台应用包名,必须先启动app,适用于Android 8.0以上

 adb shell cat /proc/meminfo:获取手机内存信息

 

adb shell df:获取手机存储信息 

 

adb shell screenrecord <存放路径/xxx.mp4>:录屏,命名以.mp4结尾
adb shell screenrecord --time-limit 10 <存放路径/xxx.mp4>:录屏时间为10秒 



Tags:ADB   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
云原生数据库 GaiaDB 架构设计解析:高性能、多级高可用
百度智能云团队在今年 11-12 月特别推出了四期《百度智能云数据库》系列云智公开课,为大家全面地介绍了以云原生数据库 GaiaDB 和分布式数据库 GaiaDB-X 为代表的百度智能云...【详细内容】
2023-12-13  Search: ADB  点击:(120)  评论:(0)  加入收藏
AI风口来袭,Adobe(ADBE.US)推出全新AI模型引领平面设计革命
智通财经APP获悉,提供Photoshop、Illustrator等热门软件产品的科技巨头Adobe(ADBE.US)宣布了其生成式人工智能模型Firefly的多个新版本,承诺提供更高质量的图像和生成新型媒体内...【详细内容】
2023-10-13  Search: ADB  点击:(269)  评论:(0)  加入收藏
ADB安装及使用详解
一、ADB简介1、什么是adbADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。ADB 也是 Andro...【详细内容】
2023-03-07  Search: ADB  点击:(203)  评论:(0)  加入收藏
adb命令logcat抓取日志
前提使用adb命令抓取手机日志的前提,我们需要先了解为什么要使用adb抓取日志,即在什么情况下需要使用adb抓取日志呢?一般的情况下,我们在做APP测试的时候,其实并不需要经常使用ad...【详细内容】
2023-03-07  Search: ADB  点击:(250)  评论:(0)  加入收藏
正确安装adb工具,且常用的adb命令
一、什么是ADB?ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。ADB 也是 Android SDK 中...【详细内容】
2023-03-07  Search: ADB  点击:(254)  评论:(0)  加入收藏
Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇
adb 常用命令 获取连接设备号:adb devices 列出设备所有已安装的包名 (不需root权限) adb shell “pm list packages”,可以加上grep 进行筛选(windows系统使用findstr /i "x...【详细内容】
2022-09-07  Search: ADB  点击:(787)  评论:(0)  加入收藏
MySQL之父开发的 MariaDB 数据库,扩展了新功能……
摘要:区别于PostgreSQL和Oracle,MariaDB采取的是一种现代的云原生的方法,在低成本、耐用的云存储上管理几乎无限量的地理空间数据,并提供基于OGC(开放地理空间信息联盟)标准的REST...【详细内容】
2022-08-29  Search: ADB  点击:(417)  评论:(0)  加入收藏
谷歌新一代操作系统 Fuchsia OS 将支持安卓的 ADB 工具
IT之家 8 月 29 日消息,谷歌的 Fuchsia 团队已经开始了一项新的工作,允许使用 ADB 工具管理 Fuchsia 设备,就像安卓手机一样。ADB 是“Android Debug Bridge”的缩写,顾名思义,该...【详细内容】
2022-08-29  Search: ADB  点击:(426)  评论:(0)  加入收藏
adb 包名/启动的activity获取
(1) adb 包名 启动的activity获取1、adb shell 进入shell界面2、dumpsys activity activitiescom.** .madp.standard/tech.madp.core.DefaultActivity 包名/启动的activity...【详细内容】
2021-05-31  Search: ADB  点击:(656)  评论:(0)  加入收藏
十万亿级OLAP解读,ADB如何支撑数据银行超大规模低成本实时分析
数据银行是一款品牌消费者运营的商业数据产品,由于其核心分析能力需要在海量数据上实现任意维度自由分析和响应时间上的强需求,我们大规模使用AnalyticDB作为底层的分析引擎,最终以较低的成本,出色的性能,支撑了上万品牌商...【详细内容】
2021-05-18  Search: ADB  点击:(467)  评论:(0)  加入收藏
▌简易百科推荐
Android Emulator黑屏怎么办 Android模拟器黑屏解决方法
Android Emulator黑屏问题困扰了非常多的玩家,Android Emulator作为一款安卓模拟器,可以让你在电脑上运行和浏览安卓应用程序,但是程序本身不是很稳定,很容易会出现黑屏,启动不了...【详细内容】
2024-03-04  18183游戏网    Tags:Android Emulator   点击:(37)  评论:(0)  加入收藏
Android开发中常见的Hook技术有哪些?
Hook技术介绍Hook技术是一种在软件开发中常见的技术,它允许开发者在特定的事件发生时插入自定义的代码逻辑。常见的应用场景包括在函数调用前后执行特定的操作,或者在特定的事...【详细内容】
2023-12-25  沐雨花飞蝶  微信公众号  Tags:Android   点击:(85)  评论:(0)  加入收藏
在Android应用开发中使用NFC功能
NFC介绍NFC是指“近场通讯”(Near Field Communication),它是一种短距离无线通信技术,允许设备在非接触或极短距离内进行通信。NFC通常用于移动支付、门禁系统、智能标签和其他...【详细内容】
2023-12-22  沐雨花飞蝶  微信公众号  Tags:Android   点击:(102)  评论:(0)  加入收藏
关于Android图像Bitmap类,你要知道的一切
Bitmap介绍Bitmap是一种图像文件格式,它由像素阵列组成,每个像素都有自己的颜色信息。在计算机图形学中,Bitmap图像可以被描述为一个二维的矩阵,其中每个元素代表一个像素的颜色...【详细内容】
2023-12-19  沐雨花飞蝶  微信公众号  Tags:Android   点击:(99)  评论:(0)  加入收藏
Android开发中如何进行单元测试?
单元测试介绍单元测试是软件开发中的一种测试方法,用于验证代码中的最小可测试单元(通常是函数或方法)是否按预期工作。单元测试通常由开发人员编写,旨在隔离和测试代码的特定部...【详细内容】
2023-12-11  沐雨花飞蝶  微信公众号  Tags:Android   点击:(167)  评论:(0)  加入收藏
一篇聊聊Jetpack Room实现数据存储持久性
Room介绍Room 是 Android Jetpack 组件库中的一部分,它是用于在 Android 应用中进行本地数据库访问和管理的库。Room 提供了一个抽象层,使开发者能够更轻松地访问 SQLite 数据...【详细内容】
2023-12-08  沐雨花飞蝶  微信公众号  Tags:Jetpack   点击:(143)  评论:(0)  加入收藏
了解Android系统架构中的HAL硬件抽象层
在Android系统中,HAL的存在使得不同厂商的硬件可以统一被上层的应用程序调用,从而提高了系统的兼容性和可移植性。HAL还可以帮助开发者更方便地开发应用程序,因为他们不需要为...【详细内容】
2023-12-06  沐雨花飞蝶  微信公众号  Tags:Android   点击:(203)  评论:(0)  加入收藏
我们一起聊聊 IntentService 与 Service 的区别?
Service介绍Service组件是Android应用开发中的四大组件之一,用于在后台执行长时间运行的操作或处理远程请求。它可以在没有用户界面的情况下执行任务,并且可以与其他应用组件...【详细内容】
2023-12-06  沐雨花飞蝶  微信公众号  Tags:IntentService   点击:(170)  评论:(0)  加入收藏
Android数据对象序列化原理与应用
序列化与反序列化「序列化」是将对象转换为可以存储或传输的格式的过程。在计算机科学中,对象通常是指内存中的数据结构,如数组、列表、字典等。通过序列化,可以将这些对象转换...【详细内容】
2023-11-14  沐雨花飞蝶  微信公众号  Tags:Android   点击:(273)  评论:(0)  加入收藏
你了解Android中的SELinux吗?
SELinux介绍SELinux(Security-Enhanced Linux)是一种安全增强的Linux操作系统,它通过强制访问控制(MAC)机制来提供更高级别的系统安全保护。相比于传统的Linux访问控制机制(DAC),SEL...【详细内容】
2023-11-09  沐雨花飞蝶  微信公众号  Tags:Android   点击:(264)  评论:(0)  加入收藏
站内最新
站内热门
站内头条