adb下载安装及使用教程

adb下载安装及使用教程

  • 一、ADB的介绍
    • 1.ADB是什么?
    • 2.内容简介
    • 3.ADB常用命令
      • 1. ADB查看设备
      • 2. ADB安装软件
      • 3. ADB卸载软件
      • 4. ADB登录设备shell
      • 5. ADB从电脑上发送文件到设备
      • 6. ADB从设备上下载文件到电脑
      • 7. ADB显示帮助信息
    • 4.为什么要用ADB
  • 二、ADB的下载
    • 1.Windows版本ADB的下载
    • 2.Mac版本ADB的下载
    • 3.Linux版本ADB的下载
  • 三、ADB的安装
    • 1.配置环境变量
    • 2.配置环境变量
    • 3.连接
    • 4.电脑打开cmd窗口
  • 四、ADB的使用
    • 1.基本命令
    • 2.权限命令
    • 3.建立连接
    • 4.apk 操作指令
    • 5.文件操作指令
    • 6.日志操作指令
    • 7.系统操作指令

adb下载安装及使用教程

一、ADB的介绍

1.ADB是什么?

Android调试桥

ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb可以在Eclipse中通过DDMS来调试Android程序,说白了就是调试工具。


2.内容简介

adb下载安装及使用教程

ADB的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
ADB是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机).  它的主要功能有:

  • 运行设备的shell(命令行)
  • 管理模拟器或设备的端口映射
  • 计算机和设备之间上传/下载文件
  • 将本地apk软件安装至模拟器或android设备
    ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

3.ADB常用命令

1. ADB查看设备

*adbdevices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2. ADB安装软件

*adbinstall <apk文件路径>
这个命令将指定的apk文件安装到设备上

3. ADB卸载软件

*adbuninstall <软件名>
*adbuninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

4. ADB登录设备shell

*adbshell
*adbshell <command命令>
这个命令将登录设备的shell.
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令

5. ADB从电脑上发送文件到设备

*adbpush <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

6. ADB从设备上下载文件到电脑

*adbpull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

7. ADB显示帮助信息

*adbhelp
这个命令将显示帮助信息


4.为什么要用ADB

ADB是连接 Android 手机与 PC 端的桥梁,所以ADB又称为安卓调试桥,可以让用户在电脑上对手机进行全面的操作!
比如:运行设备的 shell(命令行);管理模拟器或设备的端口映射;计算机和设备之间上传/下载文件;可以对设备的应用进行卸载安装等;在 App 遇到 ANR/Crash 等 bug 时,可以通过 ADB 来抓取日志等


二、ADB的下载

1.Windows版本ADB的下载

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

2.Mac版本ADB的下载

Mac版本
https://dl.google.com/android/repository/platform-tools-latest-mac.zip

3.Linux版本ADB的下载

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


三、ADB的安装

1.配置环境变量

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

2.配置环境变量

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秒


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中reduce函数和lambda表达式的学习

reduce函数将一个数据集合&#xff08;链表&#xff0c;元组等&#xff09;中的所有数据进行下列操作&#xff1a;用传给 reduce 中的函数 function&#xff08;有两个参数&#xff09;先对集合中的第 1、2 个元素进行操作&#xff0c;得到的结果再与第三个数据用 function 函数…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准&#xff0c;这些表示不进行微调&#xff0c;即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变&#xff0c;以探索计算机视…

iSlide插件2024免费版(包含52 个PPT设计辅助功能,9 大在线资源库,以及超 50 万 专业)

一、功能介绍 iSlide是一款专为PowerPoint设计的插件&#xff0c;它集合了众多设计与效率提升的功能&#xff0c;帮助用户更快速、更美观地制作演示文稿。 主题设计&#xff1a;提供多种设计主题&#xff0c;用户只需一键应用&#xff0c;即可为幻灯片赋予统一的视觉风格。智…

每次提出一个bug都让测试重现,描述得那么清楚,自己操作下不会吗?

一说到测试和开发的关系&#xff0c;你一定会想到一个词“冤家”。 开发的工作就是按照PM的设计将产品最终造出来&#xff0c;而测试则是在开发已完成的工作里纠错。so&#xff0c;测试的工作会让开发很不爽&#xff0c;人之常情&#xff0c;谁都不喜欢自己的劳动成果被别人挑…

react路由基础

1.目录 A. 能够说出React路由的作用 B. 能够掌握react-router-dom的基本使用 C. 能够使用编程式导航跳转路由 D. 能够知道React路由的匹配模式 2.目录 A. React路由介绍 B. 路由的基本使用 C. 路由的执行过程 D. 编程式导航 E. 默认路由 F. 匹配模式 3.react路由介绍 现代…

开源项目:图像分类技术在医疗影像分析中的应用与实践

一、引言 在当今快速发展的医疗行业中&#xff0c;数字医疗正逐渐成为提升医疗服务质量和效率的关键力量。本项目旨在通过整合医药电商、远程问诊、慢病管理等多维度服务&#xff0c;为消费者和企业提供全面的医疗解决方案。项目的核心在于运用先进的图像分类技术&#xff0c;以…

回归测试:在不断变化的环境中确保软件的稳定性

软件开发是一个复杂的过程&#xff0c;需要不断变化和更新以满足客户不断变化的需求&#xff0c;但它们也可能产生新问题或导致旧问题重新出现。这就是回归测试的用武之地——它是在不断变化的环境中确保软件稳定性的重要组成部分。 在这篇文章中&#xff0c;我们将深入探讨什…

第40期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文)

项目介绍 本旅游网站系统采用的数据库是MYSQL &#xff0c;使用 JSP 技术开发&#xff0c;在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

UE5 文字游戏(1) 仅UI截图转换为texture2d(适用于window端)

目录 需求 思路 1.截图并读取到本地 2.本地读取图片并转换为纹理2d 效果展示 找了好多的解决办法&#xff0c;都不管用。这个算是折中的。 需求 将当前的用户控件&#xff08;ui&#xff09;截图下来&#xff0c;并赋值到一个texture2d上。 我的需求&#xff1a;文字游戏…

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网&#xff0c;又称万维网(www World Wide Web)&#xff0c;能够通过浏览器访问的网站。 Web开发&#xff0c;就是开发网站的&#xff0c;如&#xff1a;淘宝、京东等等。 1 网站的工作流程 流程&#xff1a; 浏览器先向前端服务器请求前端资…

Cesium 自定义Primitive-线

一、创作思路 1、创建一个自定义CustomPrimitive 2、可动态更新线的点位 3、方便后期绘制线 二、实现代码 1、创建一个CustomPolylinePrimitive类,并加入更新的代码 export default class CustomPolylinePrimitive {constructor(options) {this._props options;/*** 渲染列表…

EchoServer回显服务器封装与测试

目录 类实现 编译测试 这一篇本质上是为了TcpServer而做的一层封装,让外界调用更加简洁 参考上文 TcpServer服务器管理模块(模块十)-CSDN博客 类实现 echo.hpp #include "../server.hpp"class EchoServer { private:TcpServer _server;private:void OnConnect…

vite打包构建时环境变量(env)生成可配置的js文件

现实需求 在vite开发过程中&#xff0c;一些变量可以放在.env&#xff08;基础公共部分变量&#xff09;.env.dev&#xff08;开发环境&#xff09;、.env.production&#xff08;生产环境&#xff09;中管理&#xff0c;通常分成开发和生产两个不同的配置文件管理&#xff0c…

三天学会阿里分布式事务框架Seata-应用seata AT模式方案解决分布式事务问题

锋哥原创的分布式事务框架Seata视频教程&#xff1a; 实战阿里分布式事务框架Seata视频教程&#xff08;无废话&#xff0c;通俗易懂版&#xff09;_哔哩哔哩_bilibili实战阿里分布式事务框架Seata视频教程&#xff08;无废话&#xff0c;通俗易懂版&#xff09;共计10条视频&…

dolphinscheduler海豚调度(四)钉钉告警

在之前的博文中&#xff0c;我们已经介绍了DolphinScheduler海豚调度的基本概念和工作流程&#xff0c;以及Shell任务和SQL任务的实践。今天&#xff0c;让我们来学习DolphinScheduler中的另一个重要功能&#xff1a;钉钉告警。 钉钉群添加机器人 在钉钉群添加机器人&#xf…

从http到websocket

阅读本文之前&#xff0c;你最好已经做过一些websocket的简单应用 从http到websocket HTTP101HTTP 轮询、长轮询和流化其他技术1. 服务器发送事件2. SPDY3. web实时通信 互联网简史web和httpWebsocket协议1. 简介2. 初始握手3. 计算响应健值4. 消息格式5. WebSocket关闭握手 实…

Redis 缓存数据库

redis 中文网 http://www.redis.cn/ redis.net.cn 两种数据库阵营 1.关系型数据库 MySQL Oracle DB2 SQL Server 等基于二维表结构存储数据的文件型磁盘数据库 缺点: 因为数据库的特征是磁盘文件型数据库, 就造成每次查询都有IO操作, 海量数据查询速度较慢 2.NoSQL数据库 …

lv20 QT 常用控件 2

1 QT GUI 类继承简介 布局管理器 输出控件 输入控件 按钮 容器 2 按钮示例 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QCheckBox> #include <QLineEdit> #include <QPushButton>class Widget : public QWidget {Q_OBJECTpublic…

击鼓传花游戏

有N个小朋友围成一圈玩击鼓传花游戏&#xff0c;将小朋友编号为1-N&#xff0c;从1号开始传花&#xff0c;每次传3个&#xff0c;拿到花的小朋友表演节目后退出。任给N&#xff0c;问最后一个表演的小朋友编号是多少&#xff1f;例如&#xff1a;输入5&#xff0c;从1号开始传花…