常用adb命令

一、adb概述

Android Debug Bridge 安卓调试桥。

用于通过电脑端来操作模拟器或真实设备的命令行工具。它存在于电脑端platform-tools目录下(adb.exe)。

adb是一种C/S架构的客户端-服务器程序,包括以下三个组件:

1、运行在pc端的adb client客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行 终端调用客户端。命令行程序”adb”用于从shell或脚本中运行adb命令。首先“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。然后当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求。

2、运行在设备端的常驻进程adb demon 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。

3、运行在pc端的adb server服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上。

二、下载及安装

方法1:只下载adb压缩包去解压即可

adb压缩包链接:百度网盘 请输入提取码

提取码:wpr1

方法2:前提是已安装了Android Studio,它本身带有adb命令,如果配置好的Android Studio 一般都是可以直接调用adb命令的;如果不行,找到adb在SDK里的绝对路径,放入环境变量path中(绝对路径不带入adb.exe)

判断是否安装成功:

前提:配置好adb环境变量

打开dos窗口执行adb命令,输入adb version 查看版本 可看出是否安装成功

三、常用命令

1、查看adb版本:adb version

2、启动 adb server 命令:adb start-server

3、停止 adb server 命令:adb kill-server

4、重启设备:adb reboot

5、屏幕截图:adb shell screencap  /sdcard/Download/screen.png

6、屏幕录制:adb shell screenrecord /sdcard/Download/test.mp4

7、解锁:adb disable-verity

8、向手机端传递文件:adb push 目标文件路径 手机端SDCard存放路径

9、从手机端下载文件:adb pull 目标文件路径 电脑端存放路径

10、启动一个APP、启动Activity、启动广播和服务:adb shell am start 包名

11、清除APP数据:adb shell pm clear 包名【该命令清除掉APP的缓存,还能把APP的数据给清空】

12、查询已连接设备/模拟器:adb devices

首次使用adb devices,出现* daemon not running. starting it   * daemon started successfully * 表示正在启动adb服务;

List of devices attached下方没出现任何信息,表示手机没连上电脑,或者电脑上没安装手机的驱动。插拔usb数据线,电脑屏幕出现无法识别的usb设备,表示手机驱动没安装好;

出现adb server version (32) doesn't match this client (36),表示adb端口冲突,被其它应用占用了,比如(91助手,手机管家之类的)【解决:卸载91助手,手机管家之类的】;

设备状态说明:

设备序列号+device:表示成功连接adb服务器。

设备序列号+unauthorized:表示手机未授权给电脑连接【解决:打开手机允许USB调试,USB连接配置选择MTP】;

设备序列号+offline:表示真机或者模拟器没有连接到adb 服务器 或者是没有响应。【解决:开启usb调试模式、关闭第三方手机助手软件、重启adb服务(命令:adb kill-server 、adb start-server)】

13、多个设备使用指令:adb -s 设备序列号 指令。

举例:给某个设备安装apk文件  

adb -s 设备序列号 install xxx.apk

14、安装APK文件,绝对路径:

adb install apk文件绝对路径:适用于第一次安装,直接安装

命令执行结果分析:

结果1:Failure[INSTALL_FAILED_ABORTED:User rejected permissious.]

           表示用户拒绝安装(未关闭监控安装)

解决:打开手机-设置-开发者模式选项-关闭“监控ADB安装应用”

结果2:Failure[INSTALL_FAILED_ALREADY_EXISTS:Attempt to re-install 包名       

           without first uninstalling.]

           表示手机中已安装该app

解决:adb install -r  apk文件绝对路径 强制安装,覆盖存在app,不删除应用数据。

结果3:Failure[INSTALL_FAILED_VERSION_POWNGRADE.]

           表示当前安装的app版本低于已经安装的应用版本。

解决:卸载已安装应用,再安装低版本app

命令参数:

-t :允许测试包

-l :锁定该应用程序

-d :允许降级覆盖安装,即安装的比手机上带的版本低。

-g :为应用程序授予所有运行时的权限

-r :替换已存在的应用程序,强制安装

-s :把应用程序安装在SD卡上

15、查看手机端安装的App包名

adb shell pm list packages

adb shell pm list packages –f:在后面加上 -f ,能显示该APP的路径。

16、查找手机端某一个App包名

adb shell am monitor:输入命令后,手动在手机端启动需要获取包名的app,电脑端实时响应显示该包名。

adb shell dumpsys window w | findstr \/ |findstr name=:首先在手机打开需要获取报名的app,然后电脑端输入该命令。即显示正在运行的应用的包名。

17、卸载App

adb uninstall com.xxx:直接删除应用和所有数据

adb uninstall -k com.xxx:删除应用,但保留应用数据和缓存数据。【输入该命令无法执行时可用adb shell cmd package uninstall -k】

四、系统进程命令

1、查看进程信息

adb shell ps:可在该命令后加包名,来查看某个应用程序的进程信息。

2、查看CPU使用情况

adb shell top:查看系统CPU使用情况。(ctrl+c结束)

五、事件模拟命令

Logcat

1、显示日志信息:adb logcat

2、将日志写入文件中:adb logcat -> test.log

3、手机bug抓取日志:输入命令adb logcat -v time > log (文件名)       【进行操作bug的复现操作即可, logcat.log在cmd执行命令的文件下】

4、清除main缓存区域日志:adb logcat –c

5、清除所有日志:adb logcat -c -b main -b events -b radio -b system

6、抓取pad技师端http请求日志:adb logcat | findstr LogUtils

7、抓取日志输出到文件:adb logcat | findstr LogUtils > D:\LogInfo.log

8、抓取pad诊断中SFD日志:adb logcat | findstr OkGo

Input

1、模拟手势滑动:adb shell input swipe 100 200 100 300 700

# 从屏幕(100, 200)滑到(300,700),耗时100ms

2、模拟屏幕点击事件:adb shell input tap 100 750

# 在屏幕(100,750)点击一次

3、向屏幕发送信息,%s表示空格:adb shell input text "Hello%sWorld"

4、模拟长按:adb shell input swipe 100 200 100 100 200

# 按住屏幕(100,200),耗时100ms

5、模拟点按实体按钮的命令:adb shell input keyevent 25

# 调低音量,数字25是在AOSP源码中的KeyEvent类里卖弄定义的一个事件常量

Dumpsys

1、查看电池信息:adb shell dumpsys battery

2、只看关注运行的Activity结构层次,使用grep命令过滤:adb shell dumpsys activity | grep -i 'run'

3、查询Activity堆栈:adb shell dumpsys activity

4、获取包名和activity:aapt dump badging apk path

查看连接的设备:adb devices

如果发现多个设备,指定设备执行指令:adb –s 设备号 其他指令

adb截图命令:adb -s 0123456 shell screencap /sdcard/Download/1.png

adb录屏命令:adb -s 0123456 shell screenrecord /sdcard/Download/1.mp4

将手机文件拷贝到电脑:adb -s 0123456 pull /sdcard/Download/1.png d:\

将电脑文件拷贝到手机:adb -s 0123456 push d:\2.png /sdcard/Download

安装apk:adb -s 0123456 install d:\xxx.apk

覆盖安装:adb -s 0123456 install -r d:\xxx.apk

查看日志:adb -s 0123456 logcat

清除main缓存区域日志:adb logcat -c

清除所有日志:adb logcat -c -b main -b events -b radio -b system

过滤日志输出到文件:adb logcat | findstr LogUtils > D:\info.log

查看手机端安装的所有app包名:adb –s 0123456 shell pm list packages

向屏幕输入一些信息:adb –s 0123456 shell input text “hahaha”

向屏幕输入一些信息(含中文):adb -s 0123456 shell am broadcast -a ADB_INPUT_TEXT --es msg '测试一下中文'  

--需先在安卓客户端安装ADBKeyBoard.apk(虚拟键盘),参考链接:adb shell输入中文(ADBKeyBoard) - 灰信网(软件开发博客聚合)

模拟点击屏幕:adb –s 0123456 shell input tap 500 1400

模拟手势滑动:adb –s 0123456 shell input swipe 100 500 1400 100

模拟点按实体按钮:adb –s 0123456 shell input keyevent 25

查看电池信息:adb –s 0123456 shell dumpsys battery

查看进程信息:adb –s 0123456 shell ps

查看mac地址命令:adb shell ip addr show wlan0

获取包名和activity:aapt dump badging apk path

查看versionCode:adb shell dumpsys package 包名 | findstr versionCode

查看versionName:adb shell dumpsys package 包名 | findstr versionName

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值