gkd 快照是什么:保存界面状态的 zip 文件
快照(snapshot)是 GKD 最有特色的机制之一:把设备在某个时间点的界面状态完整打包成一个 zip 文件,用于保存、审查和分享。
快照里装了什么
按官方文档的说明,一个快照包含四类信息:
- 截图:抓取时刻的屏幕图像(Android 11 及以上可通过无障碍权限直接获取;更低版本需要额外开启截屏服务,否则以同尺寸透明图片占位);
- 设备信息:机型、系统版本等环境数据;
- 界面信息:当前所在的 activityId 等界面上下文;
- 无障碍节点信息:完整的节点树——每个控件的 id、文字、位置、可点击性等属性。
它解决了什么问题
在快照机制出现之前,用户想报告「某应用某个界面有个广告关不掉」,只能靠文字描述加口头转述,规则作者拿不到界面的真实结构,来回沟通成本极高,有些低频出现的界面甚至根本无法复现。
有了快照:
- 用户在出问题的界面上抓一次快照,界面状态就永久保留了,不必等它再出现;
- 规则作者拿到快照文件,在网页版审查工具里就能看到完整的节点树,直接调试选择器;
- 选择器写好、验证通过、规则更新,整个协作闭环不需要双方装同一个应用、停在同一个界面。
快照与规则的关系
写规则的完整链路是:抓快照 → 在审查工具里找到目标节点 → 复制节点的 id/text 等属性 → 写成选择器 matches 表达式。官方文档里几乎每条示例规则都附了「由某快照而来」的出处——快照就是规则的原始证据。
如果你只是使用者不写规则,快照同样有用:把快照分享给规则作者,等订阅更新即可,这是普通用户参与规则共建的唯一且最有效的方式。
快照放在哪
应用内抓取的快照保存在「高级设置 → 快照记录」里,可以查看、导出、替换截图。审查工具生成的快照则会先上传得到一个分享链接(上传机制见上传快照)。
准备好实际抓一次了?所有抓取方式汇总在抓取快照的五种方式。