返回顶部
首页 > 资讯 > 移动开发 >全网最全ADB命令,没有之一
  • 762
分享到

全网最全ADB命令,没有之一

androidadb命令adbAndroid日志 2023-09-01 18:09:23 762人浏览 安东尼
摘要

和优秀的人在一起,会被他的趣味、热情所感染、喜欢探索世间的一切事物,并从中得到感悟与成长。 注意:本篇文章中所展示的案例是在Mac book 运行。 1.ADB概念 ADB,全名Android

和优秀的人在一起,会被他的趣味、热情所感染、喜欢探索世间的一切事物,并从中得到感悟与成长。

注意:本篇文章中所展示的案例是在Mac book 运行。

1.ADB概念

ADB,全名Android Debug Bridge,是Android提供的一个通用的调试工具,是一个C/S架构的命令行工具,通过这个工具,使得我们的PC能够和Android设备来进行通信。

1.2 ADB的工作原理:

adb包含三个部分:

a. Client端:运行在开发机器中,用来发送adb命令,比如电脑

b. Daemon守护进程:运行在调试设备,比如手机、模拟器中,用来接收并执行adb命令

c. Server端:运行在开发机器中,用来管理Client端和手机端Daemon之间的通信。

当在电脑命令行窗口中输入adb 命令时,会先执行adb客户端,客户端拿到命令之后,会发送给adb服务端,server再将命令传给Daemon,最后在手机上执行。假如在手机上安装一个应用,会有一个返回信息,会将信息传递给adb服务器,adb 在给客户端,最后显示在命令行。

总结

a.client端将命令发送给server端

b.server端会将命令发送给daemon端

c.daemon端进行执行

d.将执行结果,返回给server端

e.server端将结果再返回给client端

2.准备工作

2.1 打开调试模式

为了使用adb来控制、调试Android设备,我们需要使用USB数据线将PC和Android手机设备进行连接,当然必须要将手机设备的USB调试模式打开。

Android模拟器种类:- Android Studio emulator(官方),要根据电脑的性能进行使用- genymotion(国外的软件,需要访问外网才可以使用)- mumu、雷电、夜神、逍遥等第三方模拟器(强烈推荐第三方软件)

2.2 安装adb

1)安装jdk

2)Mac中安装ADB命令

brew install android-platfORM-tools

3.ADB相关指令牛刀小试

3.1 简单指令

1)验证adb 是否安装成功

adb help或者adb --help会出现adb的版本和帮助信息

2)开启或者关闭服务

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

3)adb devices : 查看电脑是否连接设备

adb devices或者adb devices -l或者adb get-state

使用该指令将返回设备状态信息,该状态信息包含三种

  • devices状态:表示移动设备或者模拟器已经连接到adb服务器上
  • offline状态:表示移动设备或者模拟器没有连接到adb服务器或者没有响应
  • no devices状态:表示没有设备或者模拟器连接

3)adb install :安装

第一种情况:当只有一台设备时

a. adb install apk路径b. adb install -r :覆盖原来安装的软件,并保留数据c. adb install-multiple demo1.apk demo2.apkd. adb install -t demo1.apk : 如果在安装中,遇到Failure [INSTALL_FAILED_TEST_ONLY installPackageLI],则使用该命令e. adb install -d demo.apk :允许版本代码升级f. adb install -g demo.apk :授权所有运行时权限

第二种情况:当有多台设备时,使用-s 序列号 进行指定设备

adb -s 序列号 install apk路径

4)adb uninstall :卸载

adb unstall demo.apk卸载设备中的应用,并希望保留配置和缓存文件adb -s 序列号 shell pm uninstall -k 包名

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

adb pull 移动设备路径 PC路径

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

adb push PC路径 移动设备路径adb push PC路径 /sdcard/

7)adb loGCat:查看和跟踪系统日志缓冲区的信息,

adb logcat >/Users/xxxx/demo.log或者adb -s 序列号 logcat >/Users/xxxx/demo.log
日志等级,优先级从低到高分为以下几种:V——Verbose(最低等级,开发调试中的一些详细信息,仅在开发中使用,不可再发布产品中)D——Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)I——info(信息,一般提示性的信息)W——Warning(警告)E——Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)在 E级别中可以搜索这个关键字:fatal exceptionANR全名Application Not Responding,也就是应用无响应当操作在一段时间内系统无法处理时,系统层面会弹出ANR对话框在日志中查询:ANR in在查到ANR in 之后 上一行会有

查看日志常用的参数

adb logcat -v time 打印时间adb logcat -v color 使用不同的颜色来显示每个优先级adb logcat -f  将日志输出到文件(文件存在手机上),例如,adb logcat -f /sdcard/log.logadb logcat > log.log 保存日志到PC上adb logcat -c 清理已存在的日志adb logcat *:W 打印Warning以上级别的日志adb logcat ActivityManager:D  '*:S' 过滤tag 为ActivityManager,level为Debug及以上级别的日志(S表示无记载silent,最高优先级,绝不输出任何内容)

3.2 高级指令——adb shell指令讲解

Android系统是基于linux系统开发的,支持常见的Linux命令,这些命令都保存在手机“/system/bin”文件中,如下图所示:
在这里插入图片描述

1)显示手机当前目录的所有内容

adb shell ls或者分开使用~~adb shell~~ls注意:使用exit退出提示符如果在操作过程中出现没有权限的问题,则需要切换root用户su root

2)查看电池电量的相关信息

adb shell dumpsys battery 描述信息:AC powered: false        //false表示没有使用AC电源供电USB powered: true        //true表示使用USB电源供电Wireless powered: false     //false表示没使用无线电源status: 2             //2表示电池正在充电,1表示没充电health: 2             //2表示电池状态优秀present: true           //true表示已安装电池level: 42             //电池百分比scale: 100             //满电量时电池百分比为100%(不确定是否正确)voltage: 3868           //电池电压temperature: 330         //电池温度为25摄氏度technology: Li-ion        //电池类型为锂电池

在这里插入图片描述

3) 查看无限网络信息

adb shell dumpsys wifi由于该指令输出的信息很多,所以在此加入参数,当输出信息在显示满一页的时候就暂停输出如果想再继续输出,则需要按空格键继续显示下页内容。按“Q”停止显示后续输出信息。adb shell dumpsys wifi | more

4)查看电源管理相关信息

adb shell dumpsys power含义:可以判断手机是否处于屏状态根据关键信息进行查询,仅输出屏幕关闭时间的设置信息windows设置:adb shell dumpsys power | findstr "mScreenOffTimeoutSetting"Linux设置:adb shell dumpsys power | grep "mScreenOffTimeoutSetting"

5)am

am 全称为Activity Manager ,可以使用am去模拟各种系统的行为adb shell am start com.taobao.taobao/com.taobao.tao.TBMainActivity

6)获取包名和界面名

包名(Package,具有唯一性)

界面名(activity)

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

在这里插入图片描述

7)获取启动时间——adb shell am start -W 包名/界面名

➜  ~ adb shell am start -W com.qiniu.pili.droid.shortvideo.effect.demo/com.qiniu.pili.droid.shortvideo.demo.activity.MainActivityStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.cateGory.LAUNCHER] cmp=com.qiniu.pili.droid.shortvideo.effect.demo/com.qiniu.pili.droid.shortvideo.demo.activity.MainActivity }Status: okActivity: com.qiniu.pili.droid.shortvideo.effect.demo/com.qiniu.pili.droid.shortvideo.demo.activity.MainActivityThisTime: 289TotalTime: 289WaitTime: 311Complete以毫秒为单位点击图标然后松开,这个时间是系统时间(分配内存和CPU的时间),应用application等待资源启动的时间ThisTime:为界面启动耗时TotalTime:应用自身启动耗时=ThisTime + 应用application等资源启动时间WaitTime:系统启动耗时=TotalTime + 系统资源启动时间

8)adb shell pm list packages 列出包名

- 列出所有的包名adb shell pm list packages- 列出通过第三方安装的包adb shell pm list packages -3pm全称为package manager ,可以使用pm命令模拟Android行为或者查询设备上的应用。

9)获取手机Android系统各个分区的相关信息
在这里插入图片描述
10) 清除应用数据及缓存
pm 表示package management

adb shell pm clear <包名>

4. adb 模拟手机按键

相关文档:https://developer.android.com/reference/android/view/KeyEvent

  1. 打开“指针位置” 设置
    设置——开发者选项——指针位置
  2. 执行 adb shell input 命令
    在这里插入图片描述
- 模拟点击事件adb shell input tap x坐标 y坐标adb shell input tap 528 1539- 输入文本首先需要把光标移到输入框,然后执行以下命令adb shell input text zengzengzeng- 模拟滑动事件adb shell swip <起点x> <起点y> <终点x> <终点y> <滑动时长>adb shell input swipe 528 1539 528 1300 20002000为滑动时间,单位是毫秒- 返回键adb shell input keyevent 4- 返回home键(置应用于后台)adb shell input keyevent 3- 音量放大adb shell input keyevent 24- 音量缩小adb shell input keyevent 25

5. CPU使用情况

1)查看当前系统CPU使用情况:

adb shell dumpsys cpuinfo获取的是一段时间的均值

在这里插入图片描述
2)进程占用情况

adb shell top adb shell top | grep "包名" —— 查看某个包的一些性能adb shell top -d 1 |grep "包名"

3)内存使用情况

adb shell dumpsys meminfo

小伙伴们也可以关注公众号“小曾的IT之旅”,回复关键词“adb”,即可获取相应资料

来源地址:https://blog.csdn.net/weixin_42182599/article/details/120654697

--结束END--

本文标题: 全网最全ADB命令,没有之一

本文链接: https://lsjlt.com/news/389254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 全网最全ADB命令,没有之一
    和优秀的人在一起,会被他的趣味、热情所感染、喜欢探索世间的一切事物,并从中得到感悟与成长。 注意:本篇文章中所展示的案例是在Mac book 运行。 1.ADB概念 ADB,全名Android ...
    99+
    2023-09-01
    android adb命令 adb Android 日志
  • android中adb命令最全总结
    目录 一、查看adb版本 二、查看已经连接的设备 三、获取手机序列号 四、查看手机设别型号 五、查看手机分辨率 六、获取手机的mac地址 七、查看日志 八、查看电池信息 九...
    99+
    2024-04-02
  • ADB命令大全
    设备连接 通过usb设备连接 设备状态良好(可正常开机,usb接口完好) 打开设备的开发者选项和usb调试模式 安装设备驱动(可通过手机助手,一般都会自动安装,计算机可以正常识别设备即为安装成功)和adb-tools 测试是否配置成...
    99+
    2023-08-24
    adb android
  • adb 获取日志命令-史上最全
    adb 获取日志命令 adb logcat 获取的是日志buffer中从头到尾的日志,并且最新的日志会持续写入。历史日志多少取决于缓冲区大小,并且我们可以通过参数过滤掉无用的日志。可以使用xlog框架将历史日志保存(可以研究下源码)。 日志...
    99+
    2023-08-17
    android adb
  • 全网最全Git命令手册
    目录常用语句 新建配置状态信息:获取某些文件,某些分支,某次提交等 git 信息 添加删除分支检出远程同步撤销: 提交diff: 显示当前工作空间和提交的不同 grep:可以在版本库...
    99+
    2024-04-02
  • adb命令丨adb push命令大全_adb操控手机和指令
    【ADB命令】adb push命令总结 adb push命令大全操控手机和指令 运行在 Android 设备上的adb后台进程 执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 find...
    99+
    2023-09-11
    adb 智能手机
  • MySql最全命令!!!
    1.安装mysql服务端 1.1MySql服务端软件安装 在Ubuntu中打开终端,输入下面的命令: sudo apt-get install mysql-server 查看MySQL服务状态: sudo service mysql sta...
    99+
    2023-12-23
    mysql 数据库 python
  • android调试工具adb命令大全
    一、adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们...
    99+
    2022-06-06
    adb命令大全 adb命令 adb Android
  • Mysql命令自动补全-全网最全-支持语法高亮
    方法一 今天再推荐一款命令行神器 - Mycli.Mycli 是一个MySQL命令行客户端工具,具有自动完成和语法突出显示功能。它是由印度人基于python开发的一个工具,适合初学者或者对数据库熟悉但命令记...
    99+
    2024-04-02
  • Linux全网最全面常用命令整理(附实例)
    目录一、基本命令1.1 关机和重启1.2 帮助命令二、目录操作命令2.1 目录切换 cd2.2 目录查看 ls [-al]2.3 目录操作【增,删,改,查】2.3.1 创建目录【增】 mkdir2.3.2 删除目录或文件...
    99+
    2022-06-04
    Linux命令大全 ssh远程登录命令 ssh 解压linux命令
  • 最新最全的mysql数据库基本命令
    本文主要给大家简单讲讲最新最全的mysql数据库基本命令,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望最新最全的mysql数据库基本命令这篇文章可以给大家带...
    99+
    2024-04-02
  • mysql常用命令-实例-史上最全
    MySQL命令大全(2018.11.22阿星归档) mysql登录MySQL方法1.单实例MySQL登录的方法mysql    #刚装完系统无密码情况登录方...
    99+
    2024-04-02
  • k8s常用命令大全(最新推荐)
    目录命令说明node 相关pod 相关namespace 相关service 相关deployment卷 相关命令说明 命令说明-A 表示所有信息-o wide 表示详细信息&nda...
    99+
    2023-03-07
    k8s常用命令 k8s命令
  • PHP网络安全之命令执行漏洞及防御
    目录命令执行漏洞的原理命令执行漏洞产生原因命令执行漏洞的危害命令执行的防御手段DVWA介绍命令执行漏洞的原理 程序应用有时需要调用一些执行系统命令的函数,如php中的system,e...
    99+
    2024-04-02
  • Adb操作命令及详解------全面科普(测试木头人)
    今天给大家整理一下Adb命令,欢迎大家来一起学习 对此内容大家有任何疑惑大家都可以私信木头人哦 目录 一、adb概念 二、adb命令 三、adb文件操作命令 四、Adb设备信息操作命令 五、Adb监控手机端资源的命令 六、adb shell...
    99+
    2023-08-30
    adb android 自动化
  • 一部全网最全的 JDK 发展历史轨迹图
    Java语言的相关组织和规范(其他语言也有类似的组织):JCP:(Java Community Process)由世界上各个为 Java 发展操心的人士组成的社区,参与定义 Java 新特性和新版本制定标准的组织。JSR:(Java Spe...
    99+
    2023-06-03
  • 最全的VI命令与快捷键大全集合建议收藏
    由于对Unix及linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻 1、vi的基本概念 基...
    99+
    2022-06-04
    VI命令 VI快捷键 VI命令大全 VI进入插入模式 VI进入命令行模式 VI进入底行模式
  • oracle sql plus命令大全有哪些
    这篇文章主要为大家展示了“oracle sql plus命令大全有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle sql plus命令大全有哪些...
    99+
    2024-04-02
  • Linux不安全的命令有哪些
    这篇文章主要介绍了Linux不安全的命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文中列出的命令绝对不可以运行,即使你觉得很好奇也不行,除非你是在虚拟机上运行(出现...
    99+
    2023-06-16
  • Linux中15个最常用的tar命令,一定有你没用过的
    1. 创建压缩文件:tar -cvf archive.tar file1 file2 file32. 解压缩文件:tar -xvf ...
    99+
    2023-09-20
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作