Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • Android 开发
  • tutorial
  • Jetpack

  • 组件

  • AndroidX

  • 动态化
  • APM

  • 组件化

  • 鸿蒙

  • 工具

    • adb
    • aapt
    • ADB 图形化与手机端调试工具选型
  • 其他

  • Kotlin

  • android_snip
  • ANDROID 深度技术面试问答
  • android tool
  • android图形系统
  • android
  • tool
Jacky
2026-10-29

ADB 图形化与手机端调试工具选型

常用信息查询优先选 Spock ADB;希望脱离 IDE 使用时可选 QADB 或 AYA。下表依据项目官方文档整理,功能声明不等于已经在所有 Android 版本及厂商设备上实测。

工具 形式与用途 与信息查询相关的能力 边界
Spock ADB (opens new window) Android Studio / IntelliJ 插件 当前 Activity、Fragment、应用返回栈、设备 Activity 栈;Shell 命令收藏、历史、补全和输出搜索 内存详情、窗口焦点及特定 Activity 的原始输出可通过 Shell 查询;不能据此认为有对应专用图表
QADB (opens new window) 独立桌面 ADB GUI,README 提供 macOS、Windows 使用说明 当前 Activity、Logcat、应用管理;命令中心把常用 ADB 命令组织为可点击操作 README 的模块表仍把 Performance / Processes 标为 Planned,不能当作已经提供完整内存分析
AYA (opens new window) 独立桌面 ADB GUI,支持 macOS Intel / Apple Silicon、Windows、Linux 进程监控、Logcat、布局检查、投屏、文件和应用管理、内置 Shell 官方性能面板描述的是设备整体 CPU、内存和帧率,不等于单应用完整 meminfo;未确认专用 Fragment 面板
DroidLens (opens new window) Electron 桌面,支持 macOS、Windows、Linux;另有 MCP 当前 Activity、3D View hierarchy、Screen flow、Logcat、App info 中的 Activity 列表、启动/停止应用及 deep link 新项目;Screen flow 是页面访问路径,不是 Android task 返回栈;网络、数据库等高级功能需要 debug 应用接入 SDK
LinkAndroid (opens new window) Electron 桌面,支持 macOS、Windows、Linux,中英双语 scrcpy 投屏、GIF/MP4 录屏、截图美化、文件/应用管理、ADB Shell 和命令快捷面板 适合设备操作和常用命令一键插入,不代表内置完整 meminfo 或 Fragment 分析
Tango / ya-webadb (opens new window) 浏览器 WebUSB / ADB 工具及底层库 设备信息、交互 Shell、文件传输、安装 APK、截图和 scrcpy 等能力依具体前端而定 WebUSB 需要支持的 Chromium 浏览器与设备授权;旧开源演示站、新版 Tango 应用和底层库要分别看,不能统称为同一开源 GUI
DeviceHub (opens new window) 独立桌面,提供 Windows、macOS、Linux 下载 官网列出设备/电池/存储信息、最高 60 FPS 投屏、多设备控制、文件/应用管理、拖入 APK 安装、Logcat、Shell、无线 ADB 官网把 AI 日志分析标为 Under Development;性能与功能是产品声明,尚未实测;不要与 Google / VKCOM 的同名项目混淆
androidperf (opens new window) CLI + Web UI + HTML 报告 应用 PSS、Java / Native / Graphics 等内存采样,关联 Activity 切换及部分 Fragment 信息 更适合持续性能记录;项目规模较小,Fragment 采集注明适用于 AndroidX FragmentManager 应用
Android Studio (opens new window) IDE,提供设备管理、Logcat、Profiler 等图形化工具 调试自己的应用时可进一步分析内存和布局 不同诊断功能有各自的应用构建、设备及连接条件
scrcpy (opens new window) 通过 ADB 显示和控制 Android 设备 方便在电脑操作手机、复现问题 投屏和控制不代替 Activity / Fragment / 内存诊断
Vysor (opens new window) 在电脑显示和控制 Android 设备 远程操作和复现问题 同样不能仅凭投屏判断内存与组件状态

原列表中的“ADB GUI”是轻量级 ADB 图形化工具的泛称,没有指定项目;选型时使用上表的明确仓库与官方入口,避免下载同名工具。

先明确要替代哪种查询

原始查询 GUI 能提供的帮助 不能混淆的内容
dumpsys meminfo <package_or_pid> androidperf 采样部分应用内存指标;Android Studio Profiler 做进一步分析 内存曲线、Profiler 和完整 meminfo 文本不是同一种输出;需要原始 PSS / Native Heap 表时直接在内置 Shell 运行原命令,无须为了细表启动 IDE
dumpsys window 中的 mCurrentFocus DroidLens / Current Activity 可帮助识别当前页面的包名和类名 当前 Activity 不是完整 WindowManager 状态;键盘、对话框、多窗口等场景应保留窗口焦点原始查询
dumpsys activity activities Spock 的应用返回栈、全部 Activity 入口 不能说“所有 GUI 都没有栈列表”;DroidLens Screen flow 记录页面流转,不能代替系统任务栈
dumpsys activity top Spock 可查询当前 Fragment;布局工具可辅助观察控件 View hierarchy / Fragment 容器不等于 Fragment 实例、生命周期和返回栈,不能把布局检查当作 Fragment dump 的等价替代
dumpsys activity <activity_name> 使用工具内置 Shell 保存和重跑查询 应用声明的 Activity 列表与某个正在运行的 Activity 的详细状态不同

DroidLens、Tango 与桌面工具的使用边界

  • DroidLens 的官方 README 描述了可选手机 agent(约 13 KB):无 agent 时,当前 Activity 依赖 dumpsys,标称耗时 1–7 秒;agent 通过事件跟踪提供即时信息。这是项目标称,实际耗时随设备变化。agent 使用 Instrumentation / UiAutomation,可能与 Appium 等工具冲突,可通过顶部 Agent 开关关闭。不要把它与需要应用集成的 SDK 混为一谈。
  • DroidLens 定位为 Flipper 替代工具;Flipper 上游 (opens new window) 已归档。macOS 签名状态以下载版本及上游安装说明为准:本次核对的 README 写的是 ad-hoc 签名、未获 Apple 公证,不能称为“已签名公证的 DMG”。
  • Tango 的作者公告 (opens new window)明确区分了开源库、旧开源演示站 (opens new window)和新版应用。自托管需选择对应的开源前端,不能根据底层库开源就认为新版应用也能直接自托管。无线连接也有传输/桥接条件,不能把“浏览器零安装”理解为所有连接方式都无需准备。
  • WebUSB 连接可能与本机 ADB server 或其他管理工具争用设备接口。网页端需要用户选择设备并授权,常用场景应确认访问的项目与部署来源,而不只是搜索一个同名网页。
  • LinkAndroid 适合偏好中文界面、投屏和截图美化的场景;DeviceHub 的多设备和 AI 日志功能分别核对已实现与开发中状态,不仅凭产品页截图判断。

手机端工具

工具 能解决什么 安装与使用条件
Current Activity / android-TopActivity (opens new window) 手机上显示当前 Activity 的包名和类名,减少偶尔查询时对电脑的依赖 官方仓库未提供 GitHub Release APK,README 指向 Google Play;源码较旧,现代 Android 兼容性需单独验证。不得仅凭同名或相同包名就相信第三方 APK
ADB-Application-Manager (opens new window) Inspector 的十个信息页覆盖权限、App Ops、Activities、服务/接收器/Provider、Manifest、签名与库等;Console 提供命令历史卡片、重跑、cheat sheet 和旁侧 Logcat 官方提供按 CPU 架构区分的 APK 与 SHA256SUMS;功能依赖 Standard、ADB、Wireless Debugging、Shizuku 或 Root 工作模式,普通沙箱 Shell 不等于 ADB shell 权限

ADB-Application-Manager 后续显示名包括 ADB/Root Toolbox,仓库名、APK 文件名与手机应用名可能不同;应核对包名、版本、签名与官方发布记录。官方版本记录 (opens new window)

一次 Android 16 安装检查中,官方 v7.19.2 arm64 APK 的 SHA-256 与发布者校验文件及 GitHub asset digest 一致,手机仍提示“发现高危病毒 / 危险行为程序”,安装被中止,未安装成功。来源一致不等于安全,也不能据此判为误报。 该版发布说明注明未做手机实测。此工具保留为功能调查对象,不作为无条件安装推荐;遇到同类告警应先退出安装并核实,不通过批量授权、关闭防护或忽略风险解决。

手机端工具的“已安装”“已授予必要权限”“已能实时显示当前 Activity”是三个不同的验证结果。悬浮窗、使用情况访问、无障碍或 Shizuku 授权应按实际工具所需逐项处理,不能把安装成功写成所有功能已经可用。

Spock ADB:安装与最短使用路径

  1. Android Studio → Settings / Preferences → Plugins → Marketplace,搜索 SpockAdb 并安装。官方入口:JetBrains Marketplace (opens new window)。如 IDE 提示重启,保存工作后重启使插件加载。
  2. 连接设备或启动模拟器,确认 adb devices 显示 device。打开 Spock ADB 工具窗口,核对选中的设备和应用包名,再执行查询。
  3. 查看当前 Activity / Fragment 或返回栈时使用专用动作;需要原始 dumpsys 信息时打开 Shell / ADB Command Center,执行后加入收藏。不同版本可能调整面板名称,以实际安装版本为准。
要查看的信息 Spock 入口 / 用法 终端中的原始命令
当前应用内存详情 Shell 中执行,收藏为“应用内存” adb shell dumpsys meminfo <package_or_pid>
当前窗口焦点 Shell 中执行,收藏为“窗口焦点” adb shell dumpsys window \| grep mCurrentFocus
当前 Activity Open Current Activity;也可查看 Home 的当前页面信息 adb shell dumpsys activity activities;在输出中定位 resumed Activity
当前 Fragment Open Current Fragment adb shell dumpsys activity top;输出可能包含 FragmentManager 状态,不保证所有应用都能提取
应用返回栈 / 全设备 Activity 栈 App back stack / All activities;动作名包括 Show App Back Stack、Show Activity Stack adb shell dumpsys activity activities
特定 Activity 的原始详情 Shell 查询并收藏 adb shell dumpsys activity <activity_name>

表中命令供电脑终端使用。如果工具已经进入设备 Shell,使用 dumpsys ...,不再加 adb shell;窗口过滤也在设备端执行。Spock 的命令中心提供命令、子命令和包名补全,按当前输入模式填写,避免重复前缀。收藏中的包名 / PID 需要按目标应用更新,不能假定收藏会自动替换所有参数。

窗口焦点、resumed Activity 和 Fragment 是不同层次的信息;不要把一个查询结果当作另两个的完整替代。布局检查器展示的控件树也不等同于 Fragment 栈。无结果时先核对设备、应用是否运行,再看原始输出,排查系统版本、厂商格式或应用实现差异,而不是直接判定“没有 Fragment”。

按场景选用

  • 经常忘记查询命令:优先 Spock 的专用动作和 Shell 收藏;需要独立桌面命令面板时试 QADB。
  • 日常设备操作、投屏、文件、进程和日志查看:AYA 更集中。AYA 使用文档 (opens new window)
  • 分析切换页面后的应用内存变化:androidperf 的持续采样与报告更贴近需求;设备整体内存曲线不能代替应用 meminfo。采集指标与限制 (opens new window)

Spock 的具体面板、动作与命令收藏功能见官方使用说明 (opens new window),IDE 支持范围见兼容说明 (opens new window)。

#adb#Android#tool#guide
上次更新: 2026/10/29, 10:36:02
aapt
Flutter 高频面试问答

← aapt Flutter 高频面试问答→

最近更新
01
Shell 执行模型与环境加载
10-26
02
Shell 错误处理、调试与资源清理
10-26
03
diff 与 patch:比较文件、目录和处理补丁
10-26
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式