ADB命令用法大全
一、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命令用法大全的更多相关文章
- 最全的ADB命令行大全(转)
基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s ] 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb . 为命令指定目标设备 ...
- 玩转ADB命令(ADB命令使用大全)转载
ADB是什么 Adb的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:可以看出,Android的初衷是用adb这样的一个工具来协助开发人 ...
- ROM定制开发教程-Android adb命令用法与实例解析
一.什么是ADB Android Debug Bridge(adb)是一个命令行工具,可让您与模拟器或连接的Android设备进行通信.您可以在android sdk / platform-tools ...
- Linux中find命令用法大全
Linux 查找命令是Linux系统中最重要和最常用的命令之一.查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令.查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日 ...
- Grep 命令 用法大全
查找x文件 find / -name "x*" -ls 查找文件中x所在的行数 grep -n "x" -r *find . -name "*.jav ...
- linux find命令用法大全
本文档格式如下,命令说明在命令的上一行,尝试使用 Ctrl+f 组合键快速在页面内搜索. 命令说明 命令 参数起始目录:查找文件的起始目录.实例# 当前目录搜索所有文件,文件内容 包含 &qu ...
- linux命令——Grep 命令 用法大全
1. 参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 2.RE(正则表达式) \ 忽略正则表达式中 ...
- 转帖: 一份超全超详细的 ADB 用法大全
增加一句 连接 网易mumu模拟器的方法 adb connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...
- 超全超详细的 ADB 用法大全
原文地址:原文地址 基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟 ...
随机推荐
- git rename branch
git 不能直接重命名远程分支,如果需要重命名则执行以下步骤操作: 重命名本地分支 删除远程分支 推送本地分支(重命名后的)到远程 额外说明: 1. 重命名后的分支也会保留历史 commit(应该是本 ...
- 从0到1使用kubebuiler开发operator
介绍 假设一个Nginx的QPS(服务器一秒内处理的请求数)上限为500,如果外部访问的QPS达到了600,为了保证服务质量,必须扩容一个Nginx来分摊请求. 在Kubernetes环境中,如果外部 ...
- 组织:ISO
国际标准化组织(ISO)是一个全球性的非政府组织,成立于1947年,总部位于瑞士日内瓦. 该组织负责绝大部分领域(包括军工.石油.船舶等垄断行业)的标准化活动,中国是其正式成员,代表中国参加的国家机构 ...
- 学习Java的第十六天——随机数
学习内容:随机数 1.GetEvenNum()方法 实例代码: package 数字处理类; public class MathRondom {public static int GetEvenNum ...
- Vue路由的安装
1.在Vue ui中插件中找到添加vue-router 2.安装以后,项目中的会自动完成配置. 3.在store中的index.js配置路由页面以及路径.
- antdVue问题
antdVue框架问题 #(1)slot/slot-scope插槽问题 一般用于表格数据渲染 eg: <span slot="user" slot-scope="t ...
- PHP odbc查询SQL SERVER数据库带有中文时无返回数据
近日遇到一个小麻烦当数据库中有中文字符数据 结果odbc_fetch_array后 我用json_encode怎么也得不到数据页面一片空白 我脑子也一片空白后来才知道sqlserver 没有 UTF- ...
- C++ 炼气期之基本结构语法中的底层逻辑
1. 前言 从语言的分类角度而言,C++是一种非常特殊的存在.属于高级语言范畴,但又具有低级语言的直接访问硬件的能力,这也成就了C++语言的另类性,因保留有其原始特性,其语法并不象其它高级语言一样易理 ...
- 1.windows编程入门MessageBox使用 -windows编程
引言:刚开始入门windows编程的时候,我记得当时我对MFC的给出的一大堆代码感到束手无策.因为历史的缘故,windows编程入门的代码并没有体现出C++语言的简洁性,相反一上来就给了我们一大堆代码 ...
- 实测:云RDS MySQL性能是自建的1.6倍
1. 摘要 基于之前写的「云厂商 RDS MySQL 怎么选」的文章,为了进一步了解各云厂商在RDS MySQL数据库性能上的差异,本文将对自建MySQL.阿里云.腾讯云.华为云和AWS 的 RDS ...