当前位置: 首页 > news >正文

ADB 调试工具的学习[特殊字符]

一、ADB 的工作原理

1.1 ADB 概念

  • ADB (Android Debug Bridge):Android 调试桥,是开发/测试 Android 应用必备的调试工具。
  • 作用:通过 电脑终端命令 操作 安卓手机/模拟器

1.2 ADB 构成与原理

ADB 由三部分组成:

  1. Client 端:运行在开发电脑,发送 adb 命令。
  2. Daemon 守护进程:运行在调试设备(手机/模拟器),执行命令。
  3. Server 端:运行在开发电脑,管理 Client 与 Daemon 之间的通信。

👉 总结
PC 端(Client + Server)发出指令 → 手机/模拟器(Daemon)接收并执行。


二、ADB 常用命令

2.1 获取包名和界面名(Activity)

应用场景:自动化测试中,需要指定“哪个应用的哪个界面”。

  1. 打开目标应用(如“设置”)。
  2. 执行命令:
  • Mac/Linux

    adb shell dumpsys window windows | grep mFocusedApp
    
  • Windows

    adb shell dumpsys window windows | findstr mFocusedApp
    

示例输出

ActivityRecord{2928d4fc u0 com.android.settings/.Settings t1127}
  • 包名:com.android.settings
  • 界面名(启动名):.Settings

2.2 文件传输

应用场景:拷贝数据库、日志文件,或上传测试数据。

  1. 电脑 → 手机

    adb push 电脑文件路径 手机文件路径
    

    示例

    adb push C:\Users\hm\Desktop\a.txt /sdcard
    

    👉 把 a.txt 发送到手机 SD 卡。

  2. 手机 → 电脑

    adb pull 手机文件路径 电脑文件路径
    

    示例

    adb pull /sdcard/a.txt C:\Users\hm\Desktop
    

    👉 把手机里的 a.txt 拉取到电脑桌面。


2.3 获取 APP 启动时间

应用场景:测试应用启动性能。

命令:

adb shell am start -W 包名/启动名

示例

adb shell am start -W com.android.settings/.Settings

结果解释

  • ThisTime:界面启动耗时(毫秒)。
  • TotalTime:应用自身启动耗时。
  • WaitTime:系统加应用总耗时。

👉 测试标准:一般启动时间不超过同类软件的 2 倍。


2.4 获取手机日志

应用场景:定位 bug,把日志发给开发。

步骤:

  1. 打开目标应用。

  2. 输入命令:

    adb logcat
    
  3. 执行操作触发 bug。

  4. 终端会输出日志,复制保存即可。


三、ADB 其他常用命令(了解)

命令说明
adb install 路径/xx.apk安装 app 到手机
adb uninstall 包名卸载手机上的 app
adb devices查看已连接设备及设备号
adb shell进入手机 Linux 命令行
adb start-server启动 adb 服务端
adb kill-server停止 adb 服务端
adb --help查看 adb 帮助
http://www.dtcms.com/a/349486.html

相关文章:

  • 性能优化:首屏加载速度的优化
  • Seaborn数据可视化实战:Seaborn高级使用与性能优化教程
  • C++编译链接与性能优化答案
  • 新手入门GEO优化指南:从0到1掌握生成式引擎优化
  • 我们为你连接网络,安装驱动程序
  • 构建AI智能体:十三、大数据下的“搭积木”:N-Gram 如何实现更智能的语义搜索
  • 60 C++ 现代C++编程艺术9-function用法
  • 29.深浅拷贝
  • 用DeepSeek实现实时语音翻译,我们在应用端需要做什么?
  • ssl笔记
  • Rust爬虫实战:用reqwest+select打造高效网页抓取工具
  • 通信中间件 Fast DDS(二) :详细介绍
  • 达梦 manager启动报错
  • COREDUMP
  • vsftp 传着传着速率变慢或者没有了
  • Django时区处理
  • Linux / 宝塔面板下 PHP OPcache 完整实践指南
  • MCP之weather server demo
  • TCP与HTTP协议以及爬虫
  • 计算机毕业设计 java 药店药品信息管理系统 基于 Java 的药店药品管理平台Java 开发的药品信息系统
  • 解析电商本地生活竞争:从我店模式创新到生态协同的进化路径
  • AR智能巡检:市政设施管理的变革力量
  • OpenAI o1:OpenAI最新推出的AI大语言模型,更擅长推理也更贵
  • Mistral AI音频大模型Voxtral解读
  • 【IoTDB】时序数据库选型指南:为何IoTDB成为工业大数据场景的首选?
  • Java的四种优化资源密集型任务的策略
  • 【Linux】timerfd和POSIX定时器(timer_create)
  • 《C++ Primer 第五版》省略符号(...)
  • PHP学习笔记1
  • C#——SQLServer数据库入门