# Tidyvo v1.0.8 线上包真机测试报告

> 测试日期：2026-08-25  
> 测试对象：Google Play 下载的线上包 `com.tidyvo.cleaner`，版本 `1.0.8`，versionCode `9`  
> 主测试设备：Huawei TAS-AN00，Android 12 / API 31  
> 结论口径：只有真实操作、系统查询或日志已证明的结果写为“已验证”；证据不完整的项目不写为“已验证”。

## 结论

当前 v1.0.8 **不建议继续扩大投放，也不建议直接作为下一版本稳定基线**。

报告共记录 **25 条已确认缺陷：P0 3 条、P1 11 条、P2 11 条**；另有产品/体验调整 4 项、待真机回归 1 项。排序规则为：`P0 → P1 → P2 → 产品需求 → 待回归 → 已验证 → 系统边界与环境`。

P0 为核心功能不可用、频繁崩溃/卡死或重要数据风险；P1 为重要功能、状态或交互明显错误；P2 为视觉、文案、无障碍或易用性问题。

## 测试总表

|  顺序 | 优先级/类型     | 模块                         | 测试项或问题                                | 实际结果与证据                                                                                                                                                                                                                | 处理与验收标准                                                                  |
| --: | ---------- | -------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| 1 | **P0**     | 私密空间                       | Android 12 导出崩溃                       | Huawei Android 12 必现，点击导出后主进程崩溃，无成功或失败结果。日志为 `IllegalArgumentException: Primary directory Pictures not allowed for content://media/external/file; allowed directories are [Download, Documents]`；加密副本在重启后仍存在，未发生私密数据丢失 | 修复 MediaStore 集合、目录和异常处理；API 31/34/36 的导出成功、取消、失败均不崩溃，重新查询后输出与私密副本状态正确   |
| 2 | **P0**     | 压缩 / Widget / 充电通知         | 3 个入口出现 `Unknown route` 并导致主进程崩溃      | 视频压缩：`video_compress`，复现 2 次；Widget“快速扫描”：`smart-clean`；充电通知点击：`charging-auto`。可确认是同类路由解析异常；“命名或映射不一致”仅为高概率推断，最终根因待结合线上代码确认                                                                                            | 修复并增加未知路由安全回退；3 个入口在冷/热进程均进入正确页面，返回栈正确，非法路由不崩溃，Crashlytics 无新增对应崩溃       |
| 3 | **P0**     | 通知清理                       | 权限开启后进入“隐藏通知管理”卡死、ANR 或崩溃             | Samsung、Redmi、Huawei 每次复现；卡死、系统 ANR、App 崩溃三类结果均出现，可能发生在页面打开前或页面显示后                                                                                                                                                     | 排查页面初始化、主线程阻塞和通知数据量；权限开关、空数据、大量通知下，三类设备均可连续进入、操作和退出，无卡死、ANR 或崩溃          |
| 4 | **P1**     | Settings                   | 通知状态与系统真实开关不一致                        | Huawei Android 12 必现；系统通知已关闭或拒绝，App 仍显示“通知：已允许”                                                                                                                                                                        | 每次进入设置和从系统设置返回时读取真实开关，页面立即刷新并与系统一致                                       |
| 5 | **P1**     | 日志安全                       | 生产日志明文输出完整 FCM Token                  | 生产 Logcat 已捕获，报告中已脱敏                                                                                                                                                                                                   | 生产日志不出现完整 Token；调试日志只保留不可逆短标识或结果码，并扫描 PIN、媒体名、联系人和设备标识泄漏                 |
| 6 | **P1**     | 智能清理扫描                     | 取消扫描后当前页无法重新扫描                        | Huawei Android 12 必现；取消动作生效，但“开始扫描”保持禁用，只能退出页面再进入                                                                                                                                                                      | 取消后显示明确状态并恢复“开始扫描”入口，无需退出页面；旧任务不再覆盖新任务                                   |
| 7 | **P1**     | 私密空间                       | 导入成功后未说明相册原文件仍存在                      | 受控图片导入后生成加密副本，`Pictures` 中原文件复查仍在；页面只提示“文件已安全导入”                                                                                                                                                                       | 成功结果明确说明“已创建加密副本，相册原文件仍保留”，不让用户误以为原文件已移动或删除                              |
| 8 | **P1**     | 视频压缩                       | 原视频仍保留，结果却显示“已验证删除 1、已保留 0”           | 受控视频压缩必现；系统查询确认原视频仍存在                                                                                                                                                                                                  | 结果计数与重新查询后的源视频、压缩输出真实状态一致；保留原视频时不得计为已删除                                  |
| 9 | **P1**     | 全局页面                       | 系统三键导航栏遮挡底部操作按钮                       | Samsung、Redmi、Huawei 所有带底部按钮页面均复现                                                                                                                                                                                      | 全局接入 Window Insets；所有相关页面在三键和手势导航下完整可见、可点击                               |
| 10 | **P1**     | 视频压缩                       | 压缩产物可被系统播放，但 Tidyvo 无法重新扫描到           | 新输出可在系统相册/文件管理中看到并播放；完全退出并重启后，压缩列表和智能清理/大视频扫描仍看不到该输出                                                                                                                                                                   | 修复 MediaStore 发布和扫描过滤；重启后源视频和压缩产物均可在系统与 Tidyvo 中查询、打开                    |
| 11 | **P1**     | 通知视觉                       | 深色模式下通知文字对比度不足                        | 常驻、充电、FCM 三类通知均复现；文字可见但难读                                                                                                                                                                                              | 三类通知在明暗模式下标题、正文和操作均清晰可读                                                  |
| 12 | **P1**     | 充电通知                       | Google 手机反复插拔时通知文案中英文混杂               | 已复现；Google 手机具体型号、Android 版本和独立复现频次未知                                                                                                                                                                                  | 在明确测试设备上连续物理插拔，通知语言始终与 App 当前语言一致；与崩溃问题分开定位                              |
| 13 | **P1**     | 充电通知                       | Google 手机反复插拔时 App 崩溃                 | 已复现；是否与语言混杂同时发生未知                                                                                                                                                                                                      | 在明确设备上连续物理插拔无崩溃、ANR 或重复异常通知；Crashlytics 无新增对应崩溃                          |
| 14 | **P1**     | 视频压缩                       | 压缩前预计输出大小与实际结果偏差过大                    | 约 200 MB 源视频选择高码率/高质量档，页面预计约 180 MB，实际约 60 MB；源视频精确时长、分辨率、码率、编码格式及输出画质待回归补齐                                                                                                                                            | 页面预估与编码器共用目标分辨率、视频码率和音频码率；实际结果落入展示的预计区间，并验证高质量档输出画质符合档位定义                |
| 15 | **P2**     | 私密空间                       | 中文环境错误 PIN 显示英文                       | 必现，提示为 `Incorrect PIN`                                                                                                                                                                                                 | 中文环境显示准确中文错误提示；其他语言同步核对                                                  |
| 16 | **P2**     | 视频压缩                       | 无权限文案错误要求先运行智能清理                      | 必现；错误地把压缩依赖到智能清理                                                                                                                                                                                                       | 文案只说明视频媒体访问权限和授权后的能力，不要求执行无关功能                                           |
| 17 | **P2**     | 联系人                        | 永久拒绝后缺少权限解释                           | 拒绝后直接要求打开系统设置，未说明权限用途、开启位置和开启后的结果                                                                                                                                                                                      | 权限恢复页说明用途、操作路径和开启后的结果，并可正确返回功能页                                          |
| 18 | **P2**     | Onboarding / 充电样式 / Switch | 选中态、开关和重要图标无障碍语义不足                    | UIAutomator 抽查出现 NAF，部分状态主要依赖视觉变化                                                                                                                                                                                      | 关键控件提供名称、角色、选中/开关状态和可执行动作；TalkBack 可识别                                   |
| 19 | **P2**     | 视频压缩                       | 输出不变小时失败页没有解释原因                       | 235.4 KB 低码率源视频的临时结果为 645.4 KB；App 未发布外部输出、源文件保留，见附录 A-6，但页面未说明“结果更大，因此未创建文件”                                                                                                                                          | 无收益单独显示为“无需压缩”而非普通失败；明确未创建新文件且原视频保持不变；更优方案是在转码前判断无收益                     |
| 20 | **P2**     | 视频压缩                       | 二级页面顶部标题栏未固定                         | 进入视频压缩二级页面后滚动内容，顶部标题栏会随内容滚出可视区域，返回入口和当前页面标题无法持续显示                                                                                                                                                           | 标题栏固定在状态栏安全区下方；仅内容区域滚动，标题和返回按钮始终可见且可操作                                    |
| 21 | **P2**     | 联系人                        | 同一联系人对重复展示两张合并卡片                      | 相同 QA 电话和 QA 邮箱分别命中，同一联系人对重复展示                                                                                                                                                                                         | 同一联系人对按稳定键去重，只展示一次，并保留命中原因                                               |
| 22 | **P2**     | 品牌图标                       | Samsung 桌面图标显示为白色单色轮廓                 | Samsung 已复现；该设备其他 App 图标正常                                                                                                                                                                                             | Samsung 桌面图标保持品牌识别度并符合 Adaptive Icon / 主题图标规则                            |
| 23 | **P2**     | 冷启动 Splash                 | 启动图短暂模糊                               | Samsung、Redmi、Huawei 均复现；开发侧已定位，待三机回归                                                                                                                                                                                  | 三机连续冷启动时 Logo 和背景清晰，无低清占位闪现                                              |
| 24 | **P2**     | 常驻通知                       | 切换语言后已有通知仍显示旧语言                       | 页面语言立即更新，已有常驻通知需重启服务或重新发布后才变化                                                                                                                                                                                          | 语言切换后重新发布相关通知，页面和通知语言同步                                                  |
| 25 | **P2**     | 联系人                        | 合并报告页顶部标题栏高度过低                        | Huawei 已复现；其他机型待回归                                                                                                                                                                                                     | 标题栏高度、状态栏安全区和其他二级结果页一致                                                   |
| 26 | 产品需求       | 原生广告                       | 请求期间增加骨架占位                            | 当前请求期间没有骨架；明确无填充后广告位会收起。该项由缺陷转为体验需求                                                                                                                                                                                    | 请求中显示固定高度骨架；成功后替换为广告；明确无填充或失败后收起                                         |
| 27 | 产品需求       | 私密空间                       | 图片、视频列表增加缩略图                          | 当前只显示文件信息，缺少快速识别内容的视觉线索                                                                                                                                                                                                | 增加不泄漏隐私的本地缩略图；具体支持类型由产品确认，锁定和最近任务状态不得暴露内容                                |
| 28 | 产品需求       | 私密空间                       | 删除私密副本不进入普通 `To Clean`，且不影响其他副本       | 已确认删除只应作用于私密加密副本；相册原文件已验证不受影响，已导出文件因导出 P0 尚未直接验证                                                                                                                                                                       | 删除前说明影响范围；删除后分别查询私密副本、相册原文件和已导出文件                                        |
| 29 | 产品需求       | 智能清理扫描                     | 删除“大文件夹扫描”入口                          | 选择大文件夹后，当前体验没有体现扫描范围差异、额外结果或明确用途；常老大确认该入口无产品价值，按产品精简处理                                                                                                                                                                 | 从 Smart Clean（智能清理）移除该入口及相关引导；自动扫描和分类结果保持可用，页面不再暗示必须先选择文件夹               |
| 30 | 待回归        | 智能清理扫描                     | 多文件分析性能                               | 线上历史出现耗时较长；开发侧已修改，但尚未重新真机计时                                                                                                                                                                                            | 使用固定文件数和固定数据集，分别记录首次扫描与复扫耗时；确认无卡死、ANR 或明显退化后关闭                           |
| 31 | 已验证        | 安装与身份                      | Google Play 线上包身份                     | Huawei 安装包为 Tidyvo `1.0.8`、versionCode `9`、包名 `com.tidyvo.cleaner`；APK SHA-256 为 `6000b5e61056613d2420318ae2d21a866f59bd2212b3959e78f9ba0628121635`，签名为 Google Play 安装签名                                               | 作为本报告测试基线；后续回归必须重新记录版本、versionCode、哈希和安装来源                               |
| 32 | 已验证        | 智能清理扫描                     | 自动扫描与完整扫描                             | 能进入结果并刷新扫描内容；取消后的状态恢复问题单独列为 P1                                                                                                                                                                                         | 后续回归保持成功路径，并补取消状态恢复                                                      |
| 33 | 已验证        | 清理删除                       | 6 张受控 QA 图片完整删除链路                     | 真实重复组保持 `0/3`，QA 组为 `6/6 · 1.3 MB`；拒绝系统授权后文件和选择均保留；允许后 `Pictures/Tidyvo-QA/` 无记录，结果显示 `1.3 MB`，Records 为“6 项 · 已删除媒体 1.3 MB · 保留 0 项”，见附录 A-3                                                                          | 继续保持选择隔离、授权拒绝、真实删除、删除后复查和 Records 一致                                     |
| 34 | 已验证        | 视频压缩                       | 成功、输出、默认保留和删除原视频                      | 12 秒、约 `8.8 MB` QA 视频生成 `3,521,404 B`、12 秒可播放 MP4，输出到 `Movies/Tidyvo Cleaner/`；默认保留源视频，系统确认删除源视频后输出仍存在，见附录 A-4、A-5                                                                                                     | 后续回归同时核对源/输出真实状态、时长、播放、结果计数和净节省空间                                        |
| 35 | 已验证（有边界）   | 视频压缩                       | 压缩中取消                                 | 242.7 秒视频压缩至 `19%` 时取消；源文件保留，外部输出目录无新增文件；内部缓存半成品因生产包不可 `run-as` 尚未验证                                                                                                                                                   | 测试包补查内部缓存；取消后按钮、路由和下一次任务状态正常                                             |
| 36 | 已验证        | 视频压缩                       | 无效输出保护                                | 235.4 KB 源视频生成 645.4 KB 临时结果时，App 未发布外部输出且保留原文件，见附录 A-6                                                                                                                                                                | 保留“实际至少缩小 5% 才发布”保护，并增加压缩前收益判断和清楚反馈                                      |
| 37 | 已验证        | 联系人                        | 扫描、合并和撤销                              | 2 个本地 QA 联系人可识别并进入预览；合并后两个 raw contact 指向同一 contact；撤销后恢复两个独立 contact，见附录 A-7。测试后均从系统可见联系人表移除                                                                                                                          | 保持系统状态、页面结果和撤销快照一致；补批次部分失败                                               |
| 38 | 已验证        | 私密空间                       | 导入、截图保护、锁定和删除语义                       | 导入生成加密副本且相册原文件保留；等待数秒已有进度，按正常加密/复制耗时处理；`FLAG_SECURE` 截图为 0 字节；后台后重新要求 PIN；删除取消保留加密副本，删除确认只删除私密副本                                                                                                                       | 保持数据边界；修复导出后补验已导出文件独立性                                                   |
| 39 | 已验证        | Widget                     | 添加和存储值刷新                              | Huawei Launcher 可添加；删除约 176 MB QA 视频并重开 App 后，Widget 从“已用 173.3 GB · 可用 55.2 GB”更新为“已用 173.2 GB · 可用 55.4 GB”                                                                                                          | 保持真实存储值刷新；点击跳转问题按对应 P0 回归                                                |
| 40 | 已验证（模拟电源）  | 充电动画与通知                    | 三种样式、后台和息屏通知                          | 三种样式可切换；Huawei 使用 Battery Service 模拟接电，进程存活时发布频道 `charging_animation_v2`、通知 ID `40`，标题“已连接充电器”、正文“点按打开充电动画”                                                                                                            | 物理插拔、通知点击和锁屏视觉仍按未验证项及对应的路由、语言和崩溃问题回归                                     |
| 41 | 已验证        | 基础页面                       | Home、一级 Tab、语言和隐私政策                   | Home、To clean、Compress、Tools 可切换且结构一致，见附录 A-1；Settings 中英文即时切换通过；Privacy Policy 可打开 `https://deep.tidyvocleaner.com/privacyPolicy.html`                                                                                | 保持现有通过链路；通知状态不一致问题单独修复                                                   |
| 42 | 已验证（局部）    | 通知与后台                      | 组件存在和局部调度证据                           | 存在 `tidyvo_alive_low/default/high` 等频道；`KeepAliveService` 前台运行；persisted Job 约 24 分钟调度一次，WorkManager 曾 `RETRY`，约 8 小时后存在 `RTC_WAKEUP` Alarm；私密空间导出崩溃后单次记录服务恢复                                                          | 只能证明组件和单次行为存在，不能表述为永久保活或可靠拉活                                             |
| 43 | 已验证（局部）    | Analytics / Crashlytics    | SDK 初始化和静态字段                          | Firebase Analytics、Crashlytics 已初始化；日志出现 HTTP 200，只能证明请求返回；APK 可见 `screen_view`、`session_start`、`ad_click`、`ad_format`、`ad_position`、`ad_unit_id`、`campaign_id`、`message_id` 等字段                                       | 后续必须用 DebugView、后台归档和中台落库证明真实闭环                                          |
| 44 | 已验证        | UI/UX                      | 整体视觉一致性                               | 首页、一级导航、工具卡片和二级页面的品牌色、圆角和图标语言基本一致                                                                                                                                                                                      | 无障碍、三键安全区和个别标题栏按对应缺陷回归                                                   |
| 45 | 系统边界 / 非缺陷 | Force Stop                 | 强行停止后不再触发充电通知                         | Android Force Stop 会停止 App 进程、服务和大多数系统唤醒，直到用户主动打开；本轮结果符合系统能力边界                                                                                                                                                         | 不列 App 缺陷；验收说明中明确 Force Stop 边界                                          |
| 46 | 系统边界 / 非缺陷 | 广告                         | 多场景全屏广告与流程打断                          | 首次启动、普通冷/热启动、私密空间、Settings 和充电动画附近均观察到全屏广告，见附录 A-2；按已确认口径，触发、流程打断和频控属于产品策略行为，不计 Bug                                                                                                                                    | 广告功能只在专项中验证请求、展示、点击和收入；原生骨架按产品需求处理                                       |
| 47 | 系统边界 / 非缺陷 | 私密空间                       | 导入等待数秒                                | 页面已有导入进度反馈，按正常加密/复制耗时处理                                                                                                                                                                                                | 保持进度与结果反馈；不列性能缺陷，除非固定数据回归出现异常增长                                          |
| 48 | 系统边界 / 非缺陷 | 保活口径                       | 组件存在不等于“全部保活”                         | 前台服务、JobScheduler、WorkManager、Alarm 和一次崩溃恢复，均不能证明永久保活、可靠拉活或 Force Stop 后自动恢复                                                                                                                                           | 后续按普通进程死亡、重启、Doze、OEM 清理分别记录，不使用笼统结论                                     |
| 49 | 环境与证据边界    | 补充设备                       | Samsung、Redmi、Google 手机证据范围           | 三台补充设备使用同一 Google Play `1.0.8`、versionCode `9`；具体型号和 Android 版本未记录，只作为对应问题的人工复现证据，不代表完成整套回归                                                                                                                            | 后续补齐设备型号、系统、导航方式和逐项结果；主测试机 Google Play services 偏旧，FCM/Firebase 结果不可直接外推 |
| 50 | 环境与隐私      | 受控数据                       | 测试数据与隐私处理                             | 创建 6 张 QA 图片、5 个受控源视频、3 个压缩输出和 2 个本地 QA 联系人；未选择或删除真实媒体；未保存真实联系人、真实媒体文件名或真实媒体截图                                                                                                                                         | 后续继续使用可识别、可恢复的受控数据，不写入真实用户内容或设备敏感标识                                      |
| 51 | 测试恢复       | 设备与项目                      | 测试结束后的恢复状态                            | QA 图片、5 个源视频、3 个压缩输出及 MediaStore 索引已删除并复查；QA 联系人已移除；私密副本和原受控图已清理；充电通知、Analytics 调试属性和权限已恢复；Widget 实例已移除；App 已 Force Stop。未清空 App 历史 Records，避免误删既有记录                                                                   | 本轮只修改测试报告；未修改代码、未创建 GitHub Issue、未提交 Git                                 |

## 截图附录

截图集中放在文档末尾，正文通过附录编号引用。

### A-1 工具页

<img src="截图/10-tools.png" alt="工具页" width="360">

### A-2 充电动画流程中的全屏广告

<img src="截图/14-charging-preview-fullscreen-ad.png" alt="充电动画流程中的全屏广告" width="360">

### A-3 6 张 QA 图片清理成功

<img src="截图/16-cleanup-success-6-qa.png" alt="6 张 QA 图片清理成功" width="360">

### A-4 QA 视频压缩成功

<img src="截图/17-compression-success-qa.png" alt="QA 视频压缩成功" width="360">

### A-5 原视频删除后的压缩结果

<img src="截图/18-compression-original-deleted-qa.png" alt="原视频删除后的压缩结果" width="360">

### A-6 输出不变小时的失败结果

<img src="截图/19-compression-not-smaller-failed-qa.png" alt="输出不变小时的失败结果" width="360">

### A-7 QA 联系人合并预览

<img src="截图/20-contacts-qa-merge-preview.png" alt="QA 联系人合并预览" width="360">
