Android ADB工具使用教程(从安装到使用)

news2025/3/26 6:38:10

目录

ADB工具介绍

什么是ADB?

组成

主要功能

ADB工具安装与连接设备

WIFI连接,提示计算机积极拒绝10061

WIFI成功连接后,拔掉数据线显示offline

提示adb版本不一致​编辑

ADB工具使用

 ★日志操作命令

adb logcat:抓取日志

日志格式

★input操作命令

常用命令

权限指令

获取包名的命令

当有多个设备时连接时

安装/卸载应用

上传/下载文件


ADB工具介绍

什么是ADB?

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

ADB 可以直接操作管理 Android 模拟器或者真实的 Android 设备。Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。

组成

客户端:用来发送命令。客户端在计算机上运行,通过发出adb命令从命令行终端调用客户端

守护程序(adbd):用于在设备上运行命令。守护程序在每个设备生作为后台进程运行

服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行

主要功能

adb实现用户在电脑上对android手机进行全面的操作

  1. 运行设备的shell(命令行)
  2. 管理模拟器或设备的端口映射
  3. 计算机和设备之间上传/下载文件
  4. 设备应用管理

ADB工具安装与连接设备

1.安装JDK环境(安装并设置环境变量)

1.1 下载JDK

1.2 配置环境变量

1.3 命令行窗口输入java  / javac检查是否安装成功

官网下载地址:Java Archive Downloads 

2.安装SDK环境(安装并设置环境变量/或是使用免安装版的adb工具包)

2.1 下载SDK

2.2 打开SDK Manager下载Android SDK Platform-tools

2.3 配置环境变量

2.4 命令行窗口输入adb检查是否安装成功

官网下载地址:AndroidDevTools - Android 开发工具 

3.连接真机或者模拟器执行命令

3.1 模拟器选择与安装:(真机需要连接数据线)

常见的安卓模拟器: MuMu(网易MuMu)BlueStacks(蓝叠) 、Nox(夜神)、 MEmu(逍遥安卓模拟器)、LDPlayer(雷电模拟器) 、Android Studio模拟器 、Genymotion模拟器Phoenix OS(凤凰系统)

夜神模拟器安装地址:夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网

3.2 连接真机

  • 打开真机,进行usb调试:
  • 进入设置--开发者选项--打开usb调试
  • 如果没有开发者选项,在设置--软件版本,连续点击版本号多次,直到提示您已经处于开发者模式。
  • 插上数据线,选择USB连接方式为传输文件
  • adb devices查看连接状态

补充:WIFI连接(拔掉数据线后也能运行)的方法

  • 打开真机,进行usb调试:
  • 进入设置--开发者选项--打开usb调试
  • 如果没有开发者选项,在设置--软件版本,连续点击版本号多次,直到提示您已经处于开发者模式。
  • 手机电脑处于同一个局域网中  看网络号
  • 插上数据线,选择USB连接方式为传输文件  adb devices查看连接状态
  • adb tcpip 5555 让设备在 5555 端口监听 TCP/IP 连接
  • 拔除数据线,输入adb connect ip:5555  手机IP可在WIFI设置中查看
  • adb devices查看连接状态

常见问题:

WIFI连接,提示计算机积极拒绝10061

解决方法:手机需ROOT

1 通过USB线连接安卓板和开发电脑。

2 设置安卓系统如下,安卓系统中的开发者选项中的 <<USB调试>>项是开启的,<<USB配置>>是MTP选项。

3 在开发电脑WIN系统中,通过cmd打开命令行窗口界面,输入adb devices,如果能够看到, 列出所连接的设备,表示usb方式连接好Android系统。

4 win系统命令行界面中先后输入如下两条命令:

     adb root            //权限提权。

     adb shell           //进入到安卓系统的shell.

5  进入到安卓系统后,输入命令 

setprop service.adb.tcp.port 5555        //设置adb服务端口为5555, 打开adb网络调试功能  附加说明: setprop service.adb.tcp.port -1 //表示打开adb的usb调试功能。 

6  输入 exit 命令, 退出android shell。

7  输入命令:

     adb tcpip 5555               //让设备在 5555 端口监听 TCP/IP 连接。

8 这时拔掉usb连接线。

9 使用 adb connect 192.168.1.181 进行adb 网络连接,可以正常连接。

总结:

无法连接的原因是安卓系统未打开adb网络调试功能, 通过usb方式连接到安卓系统并设置即可

解决办法:手机不需要Root
1.手机打开开发者模式,然后打开USB调试

2.使用USB数据线连接手机和电脑

3.在PC端打开cmd命令窗口,输入adb devices ,可以看到已经连接的设备

4.输入adb tcpip 8888   (设置端口号为8888)

5.断开手机和电脑的连接

6.输入adb connect ip:8888,连接成功

常见问题:

WIFI成功连接后,拔掉数据线显示offline

1、拔掉数据线后,手机需要再次打开【开发者选项】中的USB调试。

2、打开【开发者选项】中的“仅充电”模式下允许ADB调试。

3.2 连接模拟器

前提:开启开发者选项

  • 打开模拟器,进行usb调试:
  • 进入设置--开发者选项--打开usb调试
  • 如果没有开发者选项,在设置--关于平板电脑,连续点击版本号多次,直到提示您已经处于开发者模式。

电脑CMD命令行终端:adb devices  查看当前连接的设备,已连接的设备会显示出来

连接信息解释:

手机设备:显示设备的序列号,如8DJBRKIBKJ9D6AM

模拟器:显示IP地址和端口,如127.0.0.1:62001

状态:

device: 已识别设备,连接成功

unauthorized: 没有授权,需要手机进行授权手机弹出的授权框点击授权即可

unknown: 未识别设备 电脑上没有手机驱动,安装手机助手(豌豆荚,91助手)连接手机,自动安装驱动

offline: 设备离线,重新拔插USB

常见问题:

提示adb版本不一致

解决办法:将安装的adb.exe文件复制到模拟器文件夹中,另名为nox_adb.exe(模拟器本身自带一个adb工具,手动覆盖)

ADB工具使用

 ★日志操作命令

adb logcat:抓取日志

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

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

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

main指的是手机应用软件的日志,属于应用层日志

system是系统组日志

默认输出main、system日志

日志是实时更新的

adb logcat:查看设备的日志信息

adb logcat > D:/logs/logcat.txt:导出日志

日志格式

1.写下日志的时间

2.日志级别  Verbose<Debug<Info<Warning<Error

V: Verbose指冗长啰嗦,通常表达开发调试过程中的一些详细信息

D:Debug调试。显示开发调试的信息,正式版本需关闭

I:Info表达一些提示性信息

W:Warning警告

E:Error出现错误,需要重点关注

3.标签tag:标明日志发起者,方便日志的过滤筛选

4.PID进程ID:比如6942

5.正文:本日志的整体内容

adb bugreport >d:\bugreport.log 输出日志保存在本地

bugreport日志包括logcat日志,提示也包含功耗、CPU等日志信息。支持Android7.0以上版本

  • 非实时更新,主要抓取往前十分钟的信息

★input操作命令

adb shell input:

  • text 输入文本
  • keyevent 输入事件
  • tap 点击
  • swipe 滑动

前提:开发者选项中开启指针位置

adb shell input tap x y

常用命令

adb devices ---- 显示当前已经连接的设备

adb help ---- adb帮助

adb kill-server ---- 关闭adb连接服务

adb start-server ---- 开启adb连接服务    重启连接服务后需重新连接模拟器或手机

adb shell ---- 进入安卓内核linux系统终端

权限指令

adb root ---- 获取安卓管理员权限

adb remount ---- 获取系统分区的可写权限

获取包名的命令

adb shell pm list ppackages -s  列出系统应用

adb shell pm list ppackages -3  列出第三方的应用

当有多个设备时连接时

如果有多个设备/模拟器连接,则需要为命令指定目标设备,下表是指定目标设备的命令选项:

【adb -s 设备号 命令】  指定相应设备序列号的设备/模拟器为命令目标

【adb -d 命令】  指定当前唯一通过 USB 连接的 Android 设备为命令目标

【adb -e 命令】   指定当前唯一运行的模拟器为命令目标

安装/卸载应用

adb install [-l] [-r] [-t] [-s] [-d] [-g] <apk-file文件路径>

参数   含义
-l  将应用安装到保护目录 /mnt/asec
-r    允许覆盖安装
-t    允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用
-s    将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限

adb uninstall  -k 包名 卸载一个应用程序

-k 参数可选,表示卸载应用但保留数据和缓存目录
  

上传/下载文件

上传:adb push 本地文件路径 手机路径  adb push D:\网页下载\1.txt system/

下载:adb pull 手机文件路径 本地路径    adb pull system/1.txt D:\网页下载



ADB常用命令整理(全网最全)-腾讯云开发者社区-腾讯云

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

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

    相关文章

    基于SSM框架的线上甜品销售系统(源码+lw+部署文档+讲解),源码可白嫖!

    摘要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此网上销售信息的…

    Redis原理:Monitor 实现

    在调用 Redis 的 MONITOR 命令后&#xff0c;可以在对应的客户端上实时查看服务器的执行情况。今天&#xff0c;我们将从源码的角度来深入探讨 MONITOR 机制是如何处理这些请求以及如何将数据反馈给用户的。 MONITOR 命令的实现 Redis 中所有命令的具体实现细节都可以在其源代…

    计算机工具基础(七)——Git

    Git 本系列博客为《Missing in CS Class(2020)》课程笔记 Git是一种分布式版本控制系统&#xff0c;被其跟踪的文件可被查询精细到行的修改记录、回退版本、建立分支等 模型 一般流程&#xff1a;工作区 → \to →暂存区 → \to →仓库(本地 → \to →远端) 工作区&#xff1…

    23种设计模式-创建型模式-工厂方法

    文章目录 简介场景问题1. 直接依赖具体实现2. 违反开闭原则3. 条件分支泛滥4. 代码重复风险 解决根本问题完整类图完整代码说明核心优势代码优化静态配置表动态策略 总结 简介 工厂方法是一种创建型设计模式&#xff0c;它提供了在父类中创建对象的接口&#xff0c;但允许子类…

    142. 环形链表 II——考察数学,难!

    142. 环形链表 IIhttps://leetcode.cn/problems/linked-list-cycle-ii/ 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,…

    从零开始:使用Luatools工具高效烧录Air780EPM核心板项目的完整指南

    本文将深入讲解如何使用Luatools工具烧录一个具体的项目到Air780EPM开发板中。如何使用官方推荐的Luatools工具&#xff08;一款跨平台、命令行驱动的烧录利器&#xff09;&#xff0c;通过“环境配置→硬件连接→参数设置→一键烧录”四大步骤&#xff0c;帮助用户实现Air780E…

    一套云HIS系统源码,系统融合HIS与EMR,基于云端部署,采用B/S架构与SaaS模式

    云HIS系统完全基于云端部署&#xff0c;采用B/S架构&#xff0c;并通过软件即服务&#xff08;SaaS&#xff09;的形式面向二级及以下医院可快速交付、便捷运维、云化的医院核心业务平台产品。融合医院HIS和EMR两大主营系统&#xff0c;构建涵盖患者、费用、医嘱、电子病历等核…

    C++数据结构(搜索二叉树)

    1.二叉树搜索的概念 二叉搜索数也成为二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是满足以下性质的树&#xff1a; 1.若他的左子树不为空&#xff0c;则左子树上的所有节点的值都小于等于根节点的值。 2.若他的右子树不为空&#xff0c;则右子树上的所有节点的值…

    OpenCV图像拼接(6)图像拼接模块的用于创建权重图函数createWeightMap()

    操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::createWeightMap 是 OpenCV 库中用于图像拼接模块的一个函数&#xff0c;主要用于创建权重图。这个权重图在图像拼接过程中扮演着重…

    炫酷的HTML5粒子动画特效实现详解

    炫酷的HTML5粒子动画特效实现详解 这里写目录标题 炫酷的HTML5粒子动画特效实现详解项目介绍技术栈项目架构1. HTML结构2. 样式设计 核心实现1. 粒子类设计2. 动画效果实现星空效果烟花效果雨滴效果 3. 鼠标交互 性能优化效果展示总结 项目介绍 本文将详细介绍如何使用HTML5 C…

    YoloV8训练和平精英人物检测模型

    概述 和平精英人物检测&#xff0c;可以识别游戏中所有人物角色&#xff0c;并通过绘制框将人物选中&#xff0c;训练的模型仅仅具有识别功能&#xff0c;可以识别游戏中的视频、图片等文件&#xff0c;搭配Autox.js可以推理&#xff0c;实现实时绘制&#xff0c;但是对手机性…

    BC93 公务员面试

    &#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言练习题分享 &#x1f30d;文章目入 #include <stdio.h> int main() {int score 0, max 0, min 100, sum 0, count 0; while (scanf("%d", &score) ! EOF){…

    3.0 Disruptor的使用介绍(一)

    Disruptor: 其官网定义为&#xff1a;“A High Performance Inter-Thread Messaging Library”&#xff0c;即&#xff1a;线程间的高性能消息框架&#xff0c;与Labview的生产者、消费者模型很相似。 其组成部分比较多&#xff0c;先介绍几个常用的概念&#xff1a; …

    [深度学习]图像分类项目-食物分类

    图像分类项目-食物分类(监督学习和半监督学习) 文章目录 图像分类项目-食物分类(监督学习和半监督学习)项目介绍数据处理设定随机种子读取文件内容图像增广定义Dataset类 模型定义迁移学习 定义超参Adam和AdamW 训练过程半监督学习定义Dataset类模型定义定义超参训练过程 项目介…

    java8循环解压zip文件---实现Excel文件数据追加

    java8循环追加Excel数据 实际遇到问题&#xff1a;定期获取zip文件&#xff0c;zip文件内有几个固定模板的Excel文件&#xff0c;有的Excel文件可能还包含多个sheet。 有段时间一次性获取到好几个zip包&#xff0c;需要将这些包都解压&#xff0c;并且按照不同的文件名、sheet进…

    基于SpringBoot的电影售票系统

    作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

    SQL Server 2022 安装问题

    一、安装与配置问题 1. SQL Server 2022 安装失败怎么办&#xff1f; 常见原因&#xff1a; 硬件或操作系统不满足最低要求&#xff08;如内存、磁盘空间不足&#xff09;。未关闭防火墙或杀毒软件。之前版本的 SQL Server 残留文件未清理。 解决方案&#xff1a; 确保硬件配…

    MySQL 8.0.41安装教程(附安装包)mysql8.0.41图文详细安装教程

    文章目录 前言一、MySQL 8.0.41下载安装包二、MySQL 8.0.41安装教程1.启动安装程序2.选择安装模式3.选定安装组件4.确认安装设置5.执行安装操作6.安装进行中7.设置数据库密码8.继续点击下一步9.执行配置操作10.完成配置11. 再次点击下一步12.结束安装向导 三、MySQL 8.0.41配置…

    深入解析 C++20 中的 std::bind_front:高效函数绑定与参数前置

    文章目录 1. 什么是 std::bind_front&#xff1f;2. 使用 std::bind_front2.1 基本用法2.2 绑定多个参数 3. 优势与特点3.1 简化代码3.2 支持可调用对象3.3 支持完美转发 4. 实际应用场景4.1 事件处理4.2 算法通用化4.3 成员函数调用 5. 总结 在现代 C 编程中&#xff0c;函数绑…