一、ADB简介

Android Debug Bridge,安卓调试桥,它借助adb.exe(Android SDK安装目录platform-tools下),用于电脑端与模拟器或者真实设备交互;使用adb命令需安装Android SDK,并配置环境变量;它是一个C/S架构的应用程序,由三部分组成:

  • adb client:运行在PC上(为DDMS即IDE工作)
  • adb daemon:守护进程,运行于Emulaor
  • adb server:服务进程,运行在PC,管理adb client和adb daemon之间的通信

server与client通信的端口是5037,adb server与emulator交互时使用的端口有两个:

  • 5554专门用于与Emulator实例的连接
  • 5555专门用于与daemon连接

二、常用命令

1.基础用法

  • 查看adb版本: adb version
  • 重启adb服务:adb kill-server adb start-server
  • 进入shell模式:adb shell
  • 退出shell模式:exit
  • 查看连接本台PC的设备列表:adb devices(unknown-没有设备;device-连接正常;offline-离线;unauthorized-未认证、需手动在手机上同意授权)
  • 查看连接本台PC的设备列表(只展示设备ID):adb get-serialno

2.安装包相关

  • 安装apk:adb install 安装包路径\包名
  • 保留缓存和数据安装:adb install -r 安装包路径\包名
  • 卸载apk,不保留数据和缓存:adb uninstall 包名
  • 卸载apk,留数据和缓存:adb uninstall -k 包名
  • 清除应用数据及缓存:adb shell pm clear 包名
  • 查看当前设备已安装的apk列表:adb shell pm list packages -s
  • 查看当前设备已安装的第三方apk列表:adb shell pm list packages -3

3.文件相关

  • 电脑push文件到手机:adb push D:/a.txt /sdcard/
  • 从手机拉取文件:adb pull /mnt/sdcard/51zxw.txt D:\a.txt

4.截屏录屏

  • 截屏:adb shell screencap /sdcard/sca.png
  • 录屏:adb shell screenrecord /sdcard/scr.mp4
  • 录屏,指定分辨率:adb shell screenrecord --size 1280*720 /sdcard/scr.mp4
  • 录屏,指定比特率:adb shell screenrecord --bite-rate 6000000 /sdcard/scr.mp4

5.进程相关

  • 查看当前应用PID:adb shell ps | findstr 包名 (方式二:adb shell ps | grep 包名,高版本需加上双引号,即:adb shell "ps | grep 包名")
  • 查看被测应用UID:adb shell cat /proc/$pid/status
  • 杀死某个APP进程:adb shell am force-stop 包名;adb shell kill pid
  • 实时监听某一进程变化:adb shell "top | grep pid"
  • 查看pid进程查看包名:adb shell "ps | grep pid"

6.性能相关

  • 获取当前应用占用内存:adb shell dumpsys meminfo 包名
  • 获取当前应用占用CPU:adb shell dumpsys cpuinfo | findstr 包名
  • 获取流畅度相关:adb shell dumpsys gfxinfo 包名
  • 获取手机当前电量信息:adb shell dumpsys battery

7.Activity相关

  • 显示当前运行APP的activity方法1:adb shell dumpsys activity | findstr "mFocusedActivity"
  • 显示当前运行APP的activity方法2:adb shell dumpsys activity | findstr mCurrentFocus
  • 获取手机内top Activity:adb shell dumpsys activity top | findstr ACTIVITY
  • 根据启动的APP获取其包名和Activity:输入命令 adb logcat ActivityManager:I *:s,后启动APP,观察adb窗口打印情况
  • 启动一个activity:adb shell am start activity路径,例:adb shell am start com.tencent.mm/.ui.LauncherUI

8.获取手机信息相关

  • 获取设备名称:adb get-serialno
  • 查看设备型号:adb shell getprop ro.product.model
  • 查看Android系统版本:adb shell getprop ro.build.version.release
  • 查看屏幕分辨率:adb shell wm size
  • 查看屏幕密度:adb shell wm density

9.模拟器相关

  • 显示系统中全部Android平台:android list targets
  • 显示系统中全部AVD(模拟器):android list avd
  • 创建AVD(模拟器):android create avd --name 名称 --target 平台编号
  • 启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
  • 删除AVD(模拟器):android delete avd --name 名称
  • 创建SDCard:mksdcard 1024M ~/名称.img

10.远程连接手机

①确保PC连接手机成功

②查看手机连接的WiFi地址(需保持和PC在同一个局域网内)

③命令行输入:

adb tcpip 5555

adb connect 192.168.2.45:5555(使用此方式连接后,设备名为192.168.2.45:5555)

11.ADB连接多台设备时指定设备操作

  • 指定设备执行adb命令:adb -s 命令,如:adb -s b68a93e install D:\安装包\a.apk
  • 指定设备执行shell命令:adb -s shell ,如:adb -s b68a93e shell "ps | grep com.tencent.mm"

ADB命令用法大全的更多相关文章

  1. 最全的ADB命令行大全(转)

    基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s ] 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb . 为命令指定目标设备 ...

  2. 玩转ADB命令(ADB命令使用大全)转载

    ADB是什么 Adb的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:可以看出,Android的初衷是用adb这样的一个工具来协助开发人 ...

  3. ROM定制开发教程-Android adb命令用法与实例解析

    一.什么是ADB Android Debug Bridge(adb)是一个命令行工具,可让您与模拟器或连接的Android设备进行通信.您可以在android sdk / platform-tools ...

  4. Linux中find命令用法大全

    Linux 查找命令是Linux系统中最重要和最常用的命令之一.查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令.查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日 ...

  5. Grep 命令 用法大全

    查找x文件 find / -name "x*" -ls 查找文件中x所在的行数 grep -n "x" -r *find . -name "*.jav ...

  6. linux find命令用法大全

    本文档格式如下,命令说明在命令的上一行,尝试使用 Ctrl+f 组合键快速在页面内搜索. 命令说明 命令     参数起始目录:查找文件的起始目录.实例# 当前目录搜索所有文件,文件内容 包含 &qu ...

  7. linux命令——Grep 命令 用法大全

    1. 参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 2.RE(正则表达式) \ 忽略正则表达式中 ...

  8. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  9. 超全超详细的 ADB 用法大全

    原文地址:原文地址 基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟 ...

随机推荐

  1. 李阳:京东零售OLAP平台建设和场景实践

    导读: 今天和大家分享京东零售OLAP平台的建设和场景的实践,主要包括四大部分: 管控面建设 优化技巧 典型业务 大促备战 -- 01 管控面建设 1. 管控面介绍 管控面可以提供高可靠高效可持续运维 ...

  2. Celery-Task参数方法

    @celery.task(bind=True, name='name') def function_name(): pass # task方法参数 name : 可以显式指定任务的名字:默认是模块的命 ...

  3. 图解Dijkstra(迪杰斯特拉)算法+代码实现

    简介 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法是很有代表性的 ...

  4. 第一次的ssm整合

    数据库表 导入依赖 <dependencies> <dependency> <groupId>javax.servlet</groupId> <a ...

  5. Django-request的常见属性

    瞧一瞧,看一看,Django时,获取Request的各个属性. Request的常见属性 request.META 返回一个python字典.它包含了所有的HTTP请求信息.如下代码: 点击查看代码 ...

  6. SpringCloud微服务实战——搭建企业级开发框架(四十一):扩展JustAuth+SpringSecurity+Vue实现多租户系统微信扫码、钉钉扫码等第三方登录

      前面我们详细介绍了SSO.OAuth2的定义和实现原理,也举例说明了如何在微服务框架中使用spring-security-oauth2实现单点登录授权服务器和单点登录客户端.目前很多平台都提供了单 ...

  7. 2021.06.19【NOIP提高B组】模拟 总结

    T1 题意:有 \(n\) 个点,有 \(m\) 条边,每次加入一条到图中 问每个点的度数大于零且都是偶数的子图的个数 考试直接判断两点是否出现,出现则更新 其实只要改成并查集判断即可 原理:其实就是 ...

  8. LoRa无线传输技术与LoRaWAN无线模块的区别

    有不少人分不清LoRaWAN无线模块与LoRa网关无线传输技术到底有什么区别,他们在物联网领域的应用到底是什么样的. LoRaWAN指的是MAC层的组网协议,而LoRa是一个物理层的协议.虽然现有的L ...

  9. element ui 自定义主题失败(primordials is not defined)

    卸载: 1.卸载cnpm npm uninstall cnpm -g 2.卸载vue-cli npm uninstall @vue/cli -g 3.卸载nodejs和删除文件 C:\Program ...

  10. go: 如何编写一个正确的udp服务端

    udp的服务端有一个大坑,即如果收包不及时,在系统缓冲写满后,将大量丢包. 在网上通常的示例中,一般在for循环中执行操作逻辑.这在生产环境将是一个隐患.是的,俺就翻车了. go强大简易的并发能力可以 ...