# Android 首版验证记录 当前版本为0.7.10+36,导入日志定位及修复见[本次记录](tpschedule-0.7.10-import-diagnostics.md)。构建35的点按节奏及发布验证见[本次记录](tpschedule-0.7.9-release.md)。构建34的灰蓝导航、乳白透射及图标折射见[本次记录](tpschedule-0.7.8-dock-symbol-optics.md)。构建33的提醒恢复与待机诊断见[本次记录](tpschedule-0.7.8-reminder-idle.md)。构建32的点按放大、外溢及柔软材质见[本次记录](tpschedule-0.7.8-dock-bloom.md)。构建31的移动中Q弹、牵拉及减薄见[本次记录](tpschedule-0.7.8-dock-drag.md)。构建30的点按/方向弹动及乳白材质见[本次记录](tpschedule-0.7.8-dock-spring.md)。构建29的Dock弹性与Android平板验证见[本次记录](tpschedule-0.7.8-dock-tablet.md)。构建28的通知权限恢复、通道初始化及真实后台触发见[通知记录](tpschedule-0.7.8-notification-permissions.md)。Dock乳白透光材质见[优化记录](tpschedule-0.7.8-dock-refinement.md)。本科/研究生HTML反馈及签名、备案信息见[0.7.8功能记录](tpschedule-0.7.8-validation.md)。应用更新检查与后台说明见[0.7.6记录](tpschedule-0.7.6-updates.md)。本科考试兼容的验证见[0.7.5记录](tpschedule-0.7.5-validation.md)。两例真实课表缺失字段问题待新页面定位。本科接入记录见[0.7.0记录](tpschedule-0.7.0-validation.md)。下文为首版历史记录。 日期:2026-10-13。测试环境:Flutter 3.47.7 / Dart 3.13.5 / JDK 17;Android 16 API 36,Pixel 7 模拟器,1080×2400。首版版本 0.1.0+1,包 ID com.example.hepan_everyday,最低 Android 7.0(API 24)。 ## 已验证 - `flutter analyze`:No issues found。 - `flutter test`:58 项通过,包括 11 节时间、上海时区和非周一开始日、不连续周次、导入拒绝保留原课表、存储损坏恢复、示例隔离、通知去重和权限降级、日历中断恢复与归属检查、200% 字体和重叠课程、通知点击详情。 - `integration_test/app_flow_test.dart` 在 Android 模拟器通过:两页导航、单色设置、实际日期选择器和学期周数保存、导入预览取消与确认、示例不改真实保存文件、错误导入保持数据、重开恢复。 - `integration_test/calendar_bridge_test.dart` 在专用 Hepan_Integration_Test 日历通过:创建、再次同步更新同一 ID、映射丢失后找回、错误 key 无法删除、删除自有事件。设备实际查询表明 Unrelated_fixture 事件保留,CalendarContract.Reminders 无记录。 - 首次真实 APK 构建、安装、启动成功。初次编译下载依赖用时约 695 秒,后续构建约 40 秒。 - 短时通知使用独立测试入口 tool/reminder_probe.dart,不写入用户课表文件。应用退到后台后系统收到通知,实际标题及内容包含测试课程、教师和教室;点击通知打开对应课程详情。 ## 补充设备结果 - 模拟器重启后:未重新打开 APP,系统仍送出已安排的测试通知;启动正式 APP 后,空课表协调取消残留自有通知。 - 已重建并安装 lib/main.dart 正式入口 APK,核实包名、0.1.0+1、API 24/36 和三种 Android 架构。示例课表、我的、周日、末节、设置和 200% 字体已有设备截图;验证 APK 不包含测试入口。 - 已完成一次独立代码审查:无 Critical/Minor,三项 Important 均用回归测试修复。58 项测试全通过,未进行重复审查。 ## 仍需本人手机验证 - 本人学校登录、验证码、二次验证、真实研究生课表解析。目前解析器明确提示待联调,保护已有课表;见 school-integration-status.md。 - 真实手机的厂商省电、锁屏通知、长时间后台与真机重启行为;模拟器结果不能代替真机。 - 不同手机日历应用与云账户对自定义归属标记的同步行为。 - iOS 尚未配置及验证。 ## 本轮修复和设备异常 日历设备测试复现 Calendar Provider 不允许“事件单条 URI + selection”操作;改为集合 URI 加事件 ID、应用包和实例标记条件,原设备测试随后通过。首次设备界面测试时模拟器连接中断;重新启动并使用软件图形模式后同项测试通过。首次权限检查未通过来自测试框架重装应用;本轮单独授权后完成系统日历测试。 通知初始化暂时失败后可重试,日历服务异常在设置中解释并保持未启用。首次同步中断、尚无保存 ID 时,通过选定日历的专属标记恢复清理;清理失败持久保存待重试状态。 补充:系统文件选择器已从 Downloads 选择随附 JSON,正常显示 3 条课程预览和示例来源;飞行模式下正式 APP 重开后页面正常,示例体验未写成真实课程。 审查修复:设置改为按字段在最新状态上修改;首次日历写入前保存未完成状态,清理成功才允许更换目标;没有可用备份时提供确认恢复入口,真实文件测试验证损坏主文件和备份均先归档。 最终 APK:229736269 字节,SHA-256 FC61132FB0CD2881A300BB1A2D7ABB9994EDF54E369C65E1FB9E285FB42AA114。修复后重新构建、安装、启动,原生页面同时存在课表和我的两个标签入口;受影响 app_flow 设备测试重新通过。 本地合并:已按用户选择将源码合并回桌面项目 master,合并后重新运行 58 项测试全部通过,flutter analyze 无问题;临时开发目录已归档,开发分支已清理。