首页 > 其他分享 >adb详细介绍(1)

adb详细介绍(1)

时间:2024-03-26 22:04:24浏览次数:16  
标签:包名 shell dumpsys 5037 介绍 adb 详细 设备

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在移动端的路径

标签:包名,shell,dumpsys,5037,介绍,adb,详细,设备
From: https://blog.csdn.net/xiaojiaxi/article/details/136978242

相关文章

  • 数据结构--栈的介绍
    目录一简介二栈的抽象数据类型(C语言实现)三栈的顺序存储结构三栈的链式存储结构一简介栈是一种线性数据结构,遵循“后进先出”(LastInFirstOut,简称LIFO)原则。在栈中,数据的插入和删除操作只允许在表的一端进行,这一端被称为栈顶。如同现实中的栈板,最后放入的元素最......
  • 介绍一款非常不错的录像软件
    介绍一款非常不错的录像软件。支持很多录音格式,有AVI,MP4,MOV,TS,VOB等,你也可以自定义设置影片的FPS和比特率。如果你想长时间的录制视频,影片大小可支持4个G的超大文件录制。支持全屏幕录制,也支持自定义范围录制,你可通过调节录像框来决定录像的范围,将不想要录制的地方隐藏......
  • spark-submit 主要参数详细说明及Standalone集群最佳实践
    文章目录1.前言2.参数说明3.Standalone集群最佳实践1.前言部署提交应用到spark集群,可能会用到spark-submit工具,鉴于网上的博客质量残差不齐,且有很多完全是无效且错误的配置,没有搞明白诸如--total-executor-cores、--executor-cores、--num-executors的关系......
  • VUE3.0(一):模板语法及指令介绍
    模板语法Vue使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。Vue的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进DOM的系统。结合响应系统,在应用状态改变时,Vue能够智能地计算出重新渲染组件的最小代价并应用到DOM......
  • 视频智能分析系统TSINGSEE青犀AI算法中台介绍及应用场景
    TSINGSEE青犀AI算法中台是一款平台型产品,专注于提供各行业中小场景中部署解决方案。平台具备接入广、性能强、支持跨平台、芯片国产化等特点,可提供丰富的视图接入能力和智能分析能力。平台支持将不同类型、不同协议前端设备,通过不同网络环境进行传输、汇聚、处理,并能在平台内部进......
  • iMessage群发的原理介绍!
    iMessage是苹果公司推出的即时通讯服务,允许用户在iOS、macOS等设备之间进行文字、图片、音频、视频等多种形式的通讯,随着移动互联网的发展,iMessage已成为许多用户日常生活中必不可少的沟通工具。其中,iMessage群发功能更是受到了广大用户的青睐,那么,iMessage群发的原理是什么呢?......
  • 进程的概念介绍
    一、进程    进程是计算机中运行的程序的实例。每个进程都有自己的内存空间、代码、数据和系统资源。进程可以独立运行,相互之间不会影响。进程的基本概念包括:1.程序:进程是程序的一次执行,程序是存储在磁盘上的静态文件,而进程是程序在内存中的动态执行。2.状态:进程......
  • 【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)
    一、概述链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适合于处理大规模......
  • 全网你能看到最全的RFID整体技术介绍!
    文章目录1RFID简介1.1RFID基本组成1.2工作原理2背景起源2.1工具原型事例2.2理论建立3分类3.1基于工作频率分类3.2基于电子标签是否带电分类4RFID内部组成4.1电子标签4.2读写器4.3软件系统5电子标签详解5.1标签硬件组成5.2标签数据格式内部分区5.3读写锁定操作6RFID......
  • 37.html+css+js网页设计实例/“音乐”酒吧主题介绍/web前端期末大作业/
    一、前言本实例以“音乐”酒吧为主题设计,响应式web,应用html+css+js,包括图片轮翻效果、视频、音频、留言板等,供大家参考。【关注作者|获取更多源码(2000+个Web案例源码)|优质文章】;您的支持是我创作的动力!看到这里就【点赞收藏博文】,Web开发、课程设计、毕业设计有兴趣的联系我交......