adb详细介绍(1)

ADB 的全称为Android Debug Bridge,顾名思义就是起到调试桥的作用,也可以说是连接一个客户端(这里指用来操作的电脑)到服务器端(这里指Android设备)程序(一种工具)。ADB可以对Android真机或者手机模拟器进行操作管理、文件传输、卸载安装等操作。

多的先不介绍了,今天先给大家干货走起,后续会逐步介绍每条命令如何使用和其他一些拓展性的东西。今天主要介绍一些常用命令和log相关指令,monkey相关后续会逐步介绍。

一、adb常用基础命令

1、adb devices:获取设备列表及设备状态

2、adb get-state:获取设备状态

设备状态有4种:device、offline、unknown、unauthorized

devices:设备正常连接

offline:连接出现异常,设备无响应

unknown:未正确连接设备

unauthorized:未授权--Android设备上会弹出”允许USB调试吗”的窗口,点击确认;

但有时该弹框一直没有弹出,重启Android设备和PC或者更换数据线等都没有解决(而使用其他PC都能正常使用),可以参考下面方法解决:

a) 删除C盘相关文件:通过计算机C盘路径找到两个文件adbkey和adb key.pub并进行删除;

b) Android设备撤销USB调试权限(手机开发者选项当中);

c) Android设备重新连接计算机:插拔数据线

d) 删除重启adb:

adb kill-server
adb start-server

e)开发者选项中打开adb调试权限,可以看到设备弹出授权弹框;

3、(2)中error: no devices/emulators found问题可能是adb端口5037(默认端口)被占用,下述方法可以参考:

关闭adb:adb kill-server;

启动adb:adb start-server;

查看adb是否有进程,5037端口是否被占用:adb nodaemon server,如果此时提示cannot bind 'tcp:5037',则5037端口被占用;

查看5037端口被哪个进程占用了:netstat -ano | findstr “5037”;

找出占用5037端口的线程名:tasklist | findstr “xxx”;

杀掉占用5037端口的进程:taskkill /pid xxx /f;

4、adb其他常用命令

1)开启或关闭adb服务

adb start-server:开启adb服务
adb kill-server:关闭adb服务

2)adb devices/adb devices -l/adb get-state:查看电脑是否连接设备

3)adb install:安装

adb install [-r/-t/-d/g] xxx.apk

-r :覆盖原来安装的软件,并保留数据
-t  : 安装过程中遇到Failure [INSTALL_FAILED_TEST_ONLY installPackageLI]
-d  :允许版本代码升级
-g  :授权所有运行时权限

连接多台设备时,指定某一台可以用:adb -s sn/序列号 install [-r/-t/-d/g] xxx.apk

安装包在android设备中:adb shell pm install apk在移动端的路径

4)adb uninstall:卸载

adb unstall xxx.apk

如果卸载设备中的应用,并希望保留配置和缓存文件

adb -s sn/序列号 shell pm uninstall -k 包名

5)adb pull : 将移动设备中的文件传送到PC中

adb pull 设备路径 PC路径

6)adb push :将PC中的文件传送到移动设备端

adb push PC路径 设备路径

7)adb logcat:查看日志

参考上一篇介绍:常用adb命令(超详细)-超实用哦-今日头条 (toutiao.com)

二、Shell相关指令

1、查看设备相关内置信息

a)查看电池电量的相关信息:

adb shell dumpsys battery

b)查看无限网络信息:按“Q”停止显示后续输出信息

adb shell dumpsys wifi  [| more]

c)查看电源管理相关信息:可以判断手机是否处于锁屏态

adb shell dumpsys power

d)获取包名和界面名:

adb shell dumpsys window | grep mFocusedApp
adb shell "dumpsys window | grep mCurrentFocus"

e)获取启动时间:

adb shell am start -W 包名
adb shell pm list packages 列出包名
adb shell pm clear <包名>

f)CPU使用情况:

查看当前系统CPU使用情况:下面命令是获取的是一段时间的均值

adb shell dumpsys cpuinfo

进程占用情况:top

adb shell top
adb shell top | grep "包名" —— 查看特定包性能
adb shell top -d 1 |grep "包名"

内存使用情况:

adb shell dumpsys meminfo

g)设置/获取设备端口号:

adb shell setprop service.adb.tcp.port 6666
adb shell setprop service.adb.tcp.port 

2、input相关指令

a)点击-点击屏幕上(666,1666)位置:

adb shell input tap 666 1666

b)输入发送文本-shuaiqi:

adb shell input text shuaiqi

c)滑动:2000为滑动时间,单位是毫秒

adb shell swip <起点x> <起点y> <终点x> <终点y> <滑动时长>
adb shell input swipe 666 1500 666 100 2000

备注:在小距离内,较长的持续时间滑动就是长按;

e)按键

返回键:adb shell input keyevent 4
home键:adb shell input keyevent 3
音量放大:adb shell input keyevent 24
音量缩小:adb shell input keyevent 25
.................................................

3、am相关命令

a)应用启动:

adb shell am start [-n/-s/-w] com.zhihu.android/.app.ui.activity.LauncherActivity
-n:启动应用
-s:停止目标应用再启动
-w:等待应用完成后再启动

启动电话拨打10010:

adb shell am start -a android.intent.action.CALL -d tel:10010

b)查看包名/启动监控:应用启动后都有操作记录

adb shell am monitor

c)结束应用:

adb shell am force-stop 包名

4、截屏

adb shell screencap -p /sdcard

5、获取设备的activity名

adb shell dumpsys package com.zhihu.android

6、pm相关命令

a)列出所有应用包名:

adb shell pm list package [ /-s/-3/-f/-i] 

-s:列出所有系统应用包名

-3:列出所有第三方应用包名

-f:列出应用的包名及安装来源

-i:关键字过滤应用包名

b)列出应用的详细信息:

adb shell pm dump com.zhihu.android

c)apk存放在手机安装应用:

adb shell pm install apk在移动端的路径

相关推荐

  1. ADBadb、shell的介绍

    2024-03-24 18:26:01       14 阅读
  2. adb 使用详细指令

    2024-03-24 18:26:01       18 阅读
  3. <span style='color:red;'>AHB</span><span style='color:red;'>介绍</span>

    AHB介绍

    2024-03-24 18:26:01      11 阅读
  4. Android adb命令发送广播介绍

    2024-03-24 18:26:01       16 阅读
  5. Android adb pull base.apk 方法介绍

    2024-03-24 18:26:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 18:26:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 18:26:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 18:26:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 18:26:01       18 阅读

热门阅读

  1. Kafka系列之:Exactly-once support

    2024-03-24 18:26:01       18 阅读
  2. 海量数据处理和提高系统的并发能力的一些方案

    2024-03-24 18:26:01       22 阅读
  3. 如何在ubuntu 18.04中升级python 3.6到3.7

    2024-03-24 18:26:01       20 阅读
  4. CCSK-云计算安全基础知识认证

    2024-03-24 18:26:01       20 阅读
  5. OpenCV中如何进行模板匹配?

    2024-03-24 18:26:01       20 阅读
  6. 解释C语言中的函数及其参数传递方式

    2024-03-24 18:26:01       23 阅读
  7. 深入理解PHP+Redis实现分布式锁的相关问题

    2024-03-24 18:26:01       18 阅读
  8. 樊登读书-《终生成长》【视频笔记 +个人思考】

    2024-03-24 18:26:01       16 阅读
  9. Postman使用json进行接口关联

    2024-03-24 18:26:01       20 阅读
  10. vue前端面试题

    2024-03-24 18:26:01       15 阅读
  11. 1010: 【C1】【循环】求平均年龄

    2024-03-24 18:26:01       21 阅读
  12. 页面中异步请求的数据,python爬虫能爬到吗

    2024-03-24 18:26:01       19 阅读
  13. Android 带html标签文本添加自定义超链接跳转

    2024-03-24 18:26:01       17 阅读
  14. 关于个人定位的问题

    2024-03-24 18:26:01       16 阅读