美文网首页
adb 简介及常用命令

adb 简介及常用命令

作者: 崔某 | 来源:发表于2021-06-10 18:38 被阅读0次

    1、简介

    adb全称(Android Debug Bridge),它是一个通用命令行工具,它可以做为Android与PC端连接的一个桥梁,所以adb又称为Android调试桥,用户可以通过adb在电脑上对Android设备进行全面操作,比如安装和调试应用,操作文件的传输等。

    2、主要功能

    • 在设备上运行shell
    • 管理模拟器或设备的端口映射
    • 在计算机与设备之间拷贝推送文件
    • 安装、卸载apk,查看设备信息

    3、运行架构

    • adb client(客户端):client实际上就是shell控制台,通过Client发送命令给server。发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样。
    • adb server(服务器):server是运行在主机上的一个后台进程,作用是检测USB端口何时连接或者移除设备,server还将adb client的请求通过USB或者TCP的发送发送到adbd上。
    • adb demon(守护进程):运行在Android设备上的一个进程,作用是通过USB或者TCP连接到adb server,并且为运行在主机上的adb client提供一些服务。

    4、工作原理

    首先用户启动一个adb客户端时,此客户端先检查是否存在已运行的adb服务器进程。如果没有,它将启动一个服务器进程,当服务器进程启动时,adb服务器就会绑定本地的TCP端口5037并监听adb客户端发来的命令,使用的adb客户端都使用端口5037与adb服务器进行对话的。接着服务器将所有运行中的模拟器或设备实例进行连接。它通过扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到了adb守护程序,将建立一个到该端口的连接。
    客户端发送的命令分为三种:

    • 不需要经过server处理就能成功的,如:adb version、adb help。
    • 需要和server进行通讯,但不需要和demo通讯的命令,如:adb devices。
    • 需要和demo进行处理的命令。

    5、设备连接管理

    5.1、查询已连接设备/模拟器

    adb devices
    

    输出状态:

    • offline:表示设备未连接成功或无响应。
    • device:设备已连接,
    • no device:没有设备/模拟器连接

    6、adb常用命令

    6.1、服务命令

    adb version          --查看adb版本
    adb nodaemon server  --查看adb占用的端口号
    adb root             --以root权限运行adb服务
    adb kill-server      --关闭adb服务
    adb start-server     --开启adb服务
    adb -P 端口 adb-server  --指定adb-server运行端口(默认端口5037)
    

    6.2、应用管理命令

    6.2.1、安装应用

    adb install apk包名
    常用参数:
    -r  覆盖安装(保留数据)
    -d  降级覆盖安装
    -g  赋予所有运行时权限
    -l  将应用安装到保护目录/mnt/asec
    -s  将应用安装到sdcard目录
    

    adb install安装原理过程:

    • push apk文件到/data/local/tmp
    • 调用pm install安装
    • 删除/data/local/tmp下的对应apk

    6.2.2、卸载应用

    adb uninstall apk包名
    常用参数:
    -k  卸载应用时保留数据和缓存目录
    

    6.2.3、查看设备中已安装apk包

    adb shell pm list apk包名
    常用参数:
    -f  查看关联文件
    -3  查看第三方应用
    -s  查看系统应用
    -d  查看disabled package
    -e  查看enable package
    -i  查看package对应的安装者
    -u  查看被卸载过的package
    

    6.2.4、其他命令

    adb shell pm clear apk包名                        --清除应用数据和缓存
    adb shell dumpsys window | findstr mCurrentFocus  --获取当前正在运行的activity
    adb shell dumpsys activity services               --查看正在运行的services
    adb shell am force-stop 包名                       --强制关闭应用
    

    6.3、文件操作命令

    adb pull <设备文件路径> [电脑存储路径]  --导出设备文件到电脑
    adb push <电脑文件路径> [设备存储路径]  --导入电脑文件到设备
    

    6.4、日志管理命令

    Android系统的日志分为两部分:底层的Linux内核日志输出到/proc/kmsg, Android日志输出到/dev/log。Android的Log等级通常有六类,按照日志级别由低到高分别是:Verbose、Debug、Info、Warning、Error、Assert。

    adb logcat   --查看日志
    常用参数:
    参数  日志格式
    -v    brief
    -v    process
    -v    tag
    -v    raw
    -v    time
    -v    threadtime
    -v    long
    示例:adb logcat -v time > [电脑文件路径]
    adb logcat -c    --清空日志
    adb shell dmesg  --查看内核日志
    

    6.5、其他常用命令

    adb shell getprop ro.product.model          --查看设备型号
    adb shell getprop ro.build.version.release  --查看Android版本
    adb shell top                               --查看实时资源占用
    adb shell dumpsys cpuinfo                   --查看CPU信息
    adb shell dumpsys gfxinfo apk包             --查看GPU绘制分析
    adb shell dumpsys meminfo apk包             --查看某应用内存占用
    adb shell dumpsys battery                   --查看电池信息
    adb shell ps                                --查看设备进程(可配合findstr使用)
    adb shell wm size                           --查看屏幕分辨率
    adb shell wm density                        --查看屏幕密度
    

    6.5 Keyevent 键值

    adb shell input <参数>
    
    参数 说明
    tap x y 点击屏幕
    keyevent 3 HOME键
    keyevent 4 返回键
    keyevent 5 打开拨号应用
    keyevent 24 增加音量
    keyevent 25 降低音量
    keyevent 26 电源键
    keyevent 27 拍照(需要在相机应用里)
    keyevent 64 打开浏览器
    keyevent 82 菜单键
    keyevent 85 播放/暂停键
    keyevent 86 停止播放
    keyevent 87 播放下一首
    keyevent 88 播放上一首
    keyevent 122 移动光标到行首或列表顶部
    keyevent 123 移动光标到行末或列表底部
    keyevent 126 恢复播放
    keyevent 127 暂停播放
    keyevent 164 静音
    keyevent 176 打开系统设置
    keyevent 187 切换应用
    keyevent 207 打开联系人
    keyevent 208 打开日历
    keyevent 209 打开音乐
    keyevent 210 打开计算器
    keyevent 220 降低屏幕亮度
    keyevent 221 提高屏幕亮度
    keyevent 223 系统休眠
    keyevent 224 点亮屏幕
    keyevent 231 打开语音助手
    text <content> 输入文本

    相关文章

      网友评论

          本文标题:adb 简介及常用命令

          本文链接:https://www.haomeiwen.com/subject/vfhpeltx.html