Repository navigation
Releases
van课表 0.3.2 · 小组件添加反馈
van课表 0.3.2
本次更新修复“我的 → 桌面小组件”点击“添加到桌面”后没有任何提示、桌面也没有响应的问题。
- 三个添加按钮现在会显示点击结果:桌面不支持、请求被拒绝、请求已发送、调用失败分别提示,不再静默无反馈。
- “请求已发送”只表示请求已交给桌面,组件是否出现取决于桌面是否弹出确认窗口,不会误报添加成功。
- 新增“手动添加”说明和“返回桌面手动添加”按钮;没有找到 van课表 时提示检查桌面的组件管理或添加权限。
- 包名、原签名和数据库保持兼容,可直接覆盖安装;请勿卸载旧版或清除数据。
- 其余功能与 0.3.1 相同。
下载与兼容性
手机安装 van-schedule-0.3.2-arm64.apk,仅支持 ARM64;其他架构可按 README 使用 vanReleaseAbis 参数自行构建。
手环端沿用 0.3.0,无需重新安装。
验证范围
JVM 测试 10 项通过(含新增 5 项组件添加反馈检查),Release 构建成功,Lint 为 0 错误(80 条既有警告),APK v2 签名与原版一致。
本次未连接安卓设备,未在实体手机上验证桌面弹窗、系统小组件列表和实际放置结果;修复保证点击有明确反馈并提供手动添加路径。详细记录见 docs/0.3.2验证.md。
源码 ZIP 不包含签名密钥、本机配置、个人课表、实验归档或原始 SDK AAR;手环 SDK 获取方式见源码内 app/libs/README.md。
van课表 0.3.1 · 安装包瘦身与交互优化
van课表 0.3.1
本次更新优化安装包体积和页面交互,保留原有功能、配色与布局。
- 安装包从 54.31 MB 缩小至 13.43 MB,约减少 75.27%。开启 R8 优化、代码与资源裁剪及 DEX 压缩。
- 保留完整离线中英文 OCR 引擎和字库,无需在线识别服务。
- 底栏选中指示器连续滑动,增加页面进入与返回过渡、课程卡片按压回弹和详情标题展开。
- 保留周课表跟手翻页、日列表、相邻周预加载及大字号横向滚动。
- 包名、原签名和数据库保持兼容,可直接覆盖安装;请勿卸载旧版或清除数据。
下载与兼容性
手机安装 van-schedule-0.3.1-arm64.apk。本次发布包仅支持 ARM64;其他架构可按 README 使用 vanReleaseAbis 参数自行构建。
手环端沿用 0.3.0,无需重新安装。仅保留应用内课程查看和手机同步,已停用手环系统小组件。
验证范围
发布前重新检查:87 项 JVM 测试通过,Release 构建成功,Release Lint 为 0 错误(79 条已有警告),APK 签名与原版一致。
本轮开发记录包含 23 项模拟器界面回归和 2 项独立 Release 检查通过。未重新在实体手机验收,也未重新验收运动健康与手环的实际通信。详细记录见 docs/0.3.1验证.md。
源码 ZIP 不包含签名密钥、本机配置、个人课表、实验归档或原始 SDK AAR;手环 SDK 获取方式见源码内 app/libs/README.md。
van课表 0.3.0 · 手环课表与手机同步
手机“我的 → 手环课表”新增与小米手环10 Pro的课程同步,手环应用可查看今天、明天和课程详情,保留14天离线缓存。
本次更新
- 支持立即同步、示例通信验证、自动同步和清除手环课表;收到手环完整保存确认后才显示同步成功。
- 保留调课、假期、多作息及自定义时间计算,手环自动隐藏已结束课程,明确提示未同步、无课及缓存过期。
- 修复设备连接状态误判、重复注册监听、发送参数错误及手环课程列表空白,保留返回与退出处理。
- 手环系统小组件已移除,本版本仅提供手环应用与手机同步。原生日历位实验、加载器表盘及专用缓存桥不在发布内容中;手机原有桌面小组件保留。
安装
van-timetable-0.3.0.apk:手机安装包,versionCode 30,Android 8.0及以上。van-band-0.3.0.rpk:手环应用,versionCode 9,供小米手环10 Pro个人侧载。- 两端沿用原包名和原签名;方便时直接覆盖旧应用,不卸载、不清除数据。此前已加载过实验模块的手环,正常重启一次可撤销临时日历替换,旧诊断表盘可删除。
- 同步时断开电脑AstroBox,由手机小米运动健康连接手环,在手环打开van手环后从手机发起同步;自动同步受手机后台限制。
验证范围
本轮87项JVM测试、16项手环Node测试通过,0失败、0跳过;Android安装包、Android测试包和RPK构建成功,Lint为0错误、79条警告。APK原证书一致,RPK包内已核验无系统卡片入口或原生缓存桥。
此前用户已确认旧版课程正常显示、正式14天课程保存及ACK回传成功。本轮清理版未重新安装设备或进行新的真机验收,未宣称长期后台同步及离线跨天全部通过。系统小组件不作为可用功能发布。
源码与校验
van-timetable-0.3.0-source.zip与发布提交逐文件一致,保留既有版本的公开历史资料,不含实验归档、签名密钥、凭据或个人课表。Android通信SDK原始AAR不在公开源码中,重建前按app/libs/README.md从小米官方示例获取;原始权利归属不变。
SHA256SUMS.txt包含手机APK、手环RPK和源码ZIP的SHA-256校验值。
van课表 0.2.9 · 课程备注与优先排序
“课程”页面新增统一的“课程备注”按钮,点击即可查看当前课表所有课程的备注。已有备注的课程优先显示,保存或清空后自动更新排序。
更新
- 集中查看全部课程备注,不受课程列表的搜索或“只看本周有课”筛选影响;未填写的显示“暂无备注”。
- 支持添加、编辑、清空及长按复制多行备注,可记录分数分布、老师是否点名、作业要求等。
- 有备注的课程排在前面,未填写的排在后面;同组保持课表原有顺序。
- 课程详情和整门课程编辑页共用同一备注,同一门课的全部上课时段共用;沿用已有备注字段,保留完整备份兼容性。
安装与验证
- 版本 0.2.9,versionCode 26,支持 Android 8.0(API 26)及以上。本次发布已测试的 Debug 安装包,沿用原版 Android Debug 签名,APK v2 签名验证通过。
- 发布前核对 81 项单元测试、11 项导入解析脚本测试,0 失败、0 跳过;Debug 安装包及 Android 测试包构建成功,Lint 0 错误、76 条警告。
- 专用 API 37 模拟器中,此前一轮 4 项课程备注交互测试通过;最终排序改动补测 1 项端到端测试通过,覆盖已有备注优先、保存与清空后更新顺序、草稿重建、搜索不影响汇总。最终安装包与模拟器安装包 SHA-256 一致,崩溃缓冲区为空。
- 本次未在用户真机验证覆盖升级,未重新验证教务登录、导入、小组件或后台提醒。
下载
van-timetable-0.2.9.apk:课程备注功能安装包。van-timetable-0.2.9-source.zip:与本次 Git 提交逐文件一致的源码、测试与合成验证资料。SHA256SUMS.txt:安装包与源码 ZIP 的 SHA-256 校验值。
APK SHA-256:3036538976837f56c6e59cc90259309ea64ec8ee96f68de4f541ec51411c33d8
本次源码与附件不包含签名密钥、密码、本机工具缓存或私人课表原件。清理了历史验证文档中残留的一处学校简称和本机路径;旧提交与旧版本附件未改写。
van课表 0.2.8 · 布局自动切换与圆角修正
所有课程时间均位于作息节次内时,周课表默认采用 0.2.5 的紧凑节次布局;有课程占用课前、午休、课后等空档时,默认采用 0.2.6 的固定空档时间轴。两种布局都保留圆角矩形和卡片小间距。
更新
- 恢复课程卡片的圆角矩形,修正未发布的 0.2.8 初版将卡片拼成直角色块的问题。紧凑布局只收起时间轴上的课间空档,保留空课节次。
- 自动判断整张课表,包含全部周次、周末、单次课程、调课、假期预览和非本周课程;切周时保持布局策略稳定。
- “我的 → 外观设置”提供“保留课间时间空档”,可手动选择或恢复自动判断;无论设置如何,卡片都保留圆角和小间距,有空档课程时保留其显示空间。
- 包含尚未单独发布的 0.2.7 小组件优化:调整今日/双日组件的留白、文字层级和课程间距,课程色条使用圆头,星期使用强调色,隐藏底部更新时间,保留刷新、课程点击、独立滚动和课表设置入口。
安装与兼容
- 版本 0.2.8,versionCode 22,支持 Android 8.0(API 26)及以上。
- APK 沿用原版 Android Debug 签名,支持同签名覆盖升级,无需卸载。数据库结构保持不变,课程、调课及完整备份兼容。
- 在专用模拟器从修正前 0.2.8(code 21)直接覆盖到本次修正版(code 22),6 份课表完整 JSON 与全部设置原始字节一致,数据库完整性检查通过。
- 本次未在用户真机验证,不将模拟器结果表述为真机验收。
验证
- 81 项单元测试通过,0 失败、0 跳过。
- 最终安装包在 Android 15 / API 35、1080×2400、480dpi 模拟器的 6 项界面回归通过,包含浅/深色圆角像素检查、0.2.5 卡片边距、0.2.6 空档课程、切周稳定性、手动设置、页面重建、备份与课程点击。
- Debug、Release 和 Android 测试包离线构建成功;Lint 0 错误、77 条警告。
- 模拟器实际安装 APK 与本次附件 SHA-256 一致,崩溃缓冲区为空。
- 0.2.7 小组件此前已完成独立模拟器验证;本轮未重测厂商桌面、教务登录、导入协议及后台提醒。
下载
van-timetable-0.2.8.apk:圆角修正版安装包。van-timetable-0.2.8-source.zip:与本次 Git 提交逐文件一致的源码、测试和合成验证资料。SHA256SUMS.txt:APK 和源码 ZIP 的 SHA-256 校验值。
APK SHA-256:b1f34cef97ec11c9acea2db89e147e0871be535271fff63520347ef2207a114b
源码和附件不包含签名密钥、密码配置、本机工具缓存、私人课表原件或设备数据库。
van课表 0.2.6 · 紧凑课表与课程操作
本次更新改进紧凑周课表、课程日期与节次选择,并新增当天单节删除和离线更新历史。
更新
- 正常节次等高,课间及作息前后使用固定窄缝;自定义课程不再撑开时间轴。完全位于空档的课程显示单行小卡片,无冲突课程可并排显示,点击可查看完整信息。
- 单次日期改用日历,可清除;开始节和结束节使用双列滚轮,确定后写入草稿。
- 课程详情新增“仅删除本日本节”,只取消当天点中的课程时段,保留其他日期和时段。
- “帮助与关于”增加离线历史版本更新目录。
- 缓存周课程、冲突和卡片坐标,减少分页布局开销;保留跟手横移、短滑切周、松手吸附和按钮跳转动画。
安装与签名
- 版本 0.2.6,versionCode 19,支持 Android 8.0(API 26)及以上。
- 本次 APK 使用与 GitHub 原版 0.2.5 相同的 Android Debug 证书,已通过 APK v2 签名验证。在 Redmi K70 上通过
adb install -r从原版 0.2.5 覆盖至 0.2.6,未卸载或清除数据,课表内容比对一致。 - 发布附件为原签名修复后的安装包。曾取得首轮不兼容 0.2.6 包的用户,请使用本次附件。
- 数据库版本及备份字段保持兼容。完整升级记录与设置采样差异见 0.2.6 验证说明。
验证范围
- 本版开发验证记录:72 项单元测试、11 项导入解析脚本测试通过;API 36 模拟器 15 项相关交互回归通过,API 35 另复核 6 项新增功能。
- Debug、Release 与 Android 测试包构建成功;Lint 0 错误、81 条警告。签名修复后的应用代码和资源与已测试包一致。
- 软件渲染模拟器三轮比较的 P99 帧耗时中位数从 150ms 降至 85ms,P95 为 61ms;绝对卡顿比例仍高,不能据此宣称真机完全不卡顿。
- 真机已完成覆盖安装、课表内容比对及启动检查;长时间提醒、厂商桌面小组件及性能仍需实际使用核对。
下载
van-timetable-0.2.6.apk:原签名安装包。van-timetable-0.2.6-source.zip:与本次提交逐文件一致的公开源码、测试及脱敏验证资料。SHA256SUMS.txt:APK 与源码 ZIP 的 SHA-256 校验值。
源码与附件不包含签名密钥、密码、本机工具缓存、私人课表原件或设备数据库。
van课表 0.2.5 · 自定义时间标签开关
新增自定义时间标签显示开关,桌面小组件显示逻辑保持不变。
更新
- “我的 → 外观设置”新增“显示自定义时间课时间”开关,默认开启,选择自动保存。
- 关闭后隐藏周课表左侧自定义时间课程的额外时间标签,保留正常节次时间及课程位置。
- 版本号0.2.5,版本码18。
公开资料清理
- 移除内置真实学校名称、域名和对应命名,改为按教务页面路径选择协议获取器;输入自己的教务网址后获取。
- 移除公开源码中的历史截图、运行日志和用户原件衍生测试;课程、教师、校区与网址均使用匿名示例。
- 本次清理适用于0.2.5代码快照及附件,旧提交和旧Release未重写。
验证与安装
- 公开版单元测试68项通过,0失败、0跳过;解析脚本11项通过。
- 编译和静态检查通过;本次不包含需要个人原件的本地测试。
- 本次尚未在模拟器或真机中验证开关效果。
- Android 8.0(API26)及以上;APK沿用Android Debug签名,v2签名验证通过,可覆盖同签名旧版并保留数据。
- 附件包含APK、公开源码ZIP及SHA256SUMS.txt。源码包来自本次Git提交,不含个人原始课表、原件截图、签名密钥和本机工具缓存。
van课表 0.2.4
优化课表滑动,兼容网格 Excel,并修复后台小组件入口的页面恢复行为。
更新
- 缓存课程与时间轴计算,在后台搜索下一节课程,预先准备相邻页;各页使用独立滚动状态,保留跟手、短拖切周、松手吸附和放大网格横向位置。
- 支持 Excel 同格多门课程、同门课多组周次及不同地点,以及“第3节-第5节”等明确范围。原始用户文件的11门课程、26个时段已完成读取、核对、保存和备份恢复验证。
- 外部入口复用主页面;恢复时避免重复叠加页面,小组件的新入口清理旧页面历史。
验证
- 最终APK的17项相关Android模拟器测试全部通过。
- 71项单元检查通过,0失败;1项可选旧PDF原件对照因未提供该参数而跳过,本次Excel流程未跳过。
- 三轮真实后台进程回收后,小组件入口均恢复课表,只有一个主页面,一次返回到桌面。
- lint为0错误、72条既有警告,崩溃缓冲区为空。
- 固定课表三轮预热比较:模拟器P99帧耗时由48ms降至34–44ms;慢帧比例仍有波动,不能据此保证真机完全不卡顿。实际放置数小时的真机后台表现仍需观察。
安装与资料
支持Android 8.0(API26)及以上,沿用已有Android Debug签名。APK与本轮测试安装包SHA-256一致。
Excel不包含开学日期和真实作息,保存前必须核对。公开源码包基于本次Git提交生成;个人原始课表、原件截图、本机路径及工具缓存均未上传。
附件提供APK、公开源码ZIP及SHA256SUMS.txt。
van课表 0.2.3
van课表 0.2.3
本次更新改进课表返回、滑动和自定义时间显示:
- 课表右侧增加独立的竖排“回到本周/今日”按钮,离开当前周次或日期后显示,点击即可归位。
- 慢速拖动切周距离阈值从页面宽度的 50% 降至 18%,保留内容跟手、松手吸附和一次切换一页。
- 调课与特殊安排说明固定预留高度,避免切换有/无说明的周次时课表突然伸缩。
- 修正自定义钟点课程的时间轴:只展开实际占用的课间,保留原文件作息,避免短时间文字裁切。
下载
van-timetable-0.2.3.apk:Android 安装包,版本 0.2.3、versionCode 16,支持 Android 8.0(API 26)及以上。van-timetable-0.2.3-source.zip:本次源码、测试、脱敏时间 fixture 与验证资料,包含离线识别模型。SHA256SUMS.txt:APK 和源码 ZIP 的 SHA-256 校验值。
签名与验证范围
安装包沿用现有 Android Debug 签名,APK v2 签名验证通过,尚未使用独立的正式发布密钥。
本轮相关 Android 模拟器测试 14 项全部通过,0 失败、0 跳过,覆盖独立返回按钮、双向短拖、跟手、边界、大字号手势保护、说明栏高度稳定,以及用户原件导入、预览、保存、重建和完整恢复。JVM 与应用单元测试共 70 项,69 项通过、0 失败,1 项可选原始 PDF 对照因本轮未提供该参数而跳过;新增 3 项脱敏原件时间回归全部通过。Debug 与 AndroidTest 构建成功,lint 为 0 错误、72 条警告,崩溃缓冲区为空。
测试设备为 emulator-5556,API 37、360×800、160dpi、系统字号 1.0;这些结果属于模拟器验证范围。发布附件 APK 与本轮测试安装包 SHA-256 一致。个人原始备份及其导入/恢复截图保留在本机;公开证据包含脱敏时间 fixture 与真实原件测试结果。原件、原件截图、工具缓存、本机路径和签名私钥未进入源码附件。许可证为 GPL-3.0-only,第三方声明包含在源码中。
van课表 0.2.2
van课表 0.2.2
本次更新优化 4×2 双日课表小组件:
- 左上显示课表名,右上显示日期、周次、星期与刷新入口。
- 固定今天/明天两列,支持独立滚动、浅色和深色主题。
- 较高尺寸按课程名、教室/教师、时间分三行显示;较矮尺寸使用紧凑两行布局,保留时间和地点。
- 优化最小尺寸与宿主边距适配,并保留课程颜色、自动刷新和点击进入课表。
下载
van-timetable-0.2.2.apk:Android 安装包。版本 0.2.2,versionCode 15,支持 Android 8.0(API 26)及以上。van-timetable-0.2.2-source.zip:与本次仓库提交一致的源码、测试和脱敏文档,包含离线识别模型。SHA256SUMS.txt:附件 SHA-256 校验值。
签名与验证范围
本安装包沿用项目现有 Android Debug 签名,APK v2 签名验证通过;它尚未使用独立的正式发布密钥。
0.2.2 开发记录包含 9 项 Android 模拟器测试通过(0 失败、0 跳过),覆盖 170、130、110dp 高度的浅/深色布局、独立绑定、滚动、点击及自动刷新。不同厂商桌面、系统字号与 API 26–30 真机表现仍需核对。本次发布核对了附件版本、签名、文件大小与哈希,没有重新执行上述模拟器测试。
源码基于提交 279ed8b87d96ab40fc2be7550bb606f08c997dd6,许可证为 GPL-3.0-only;第三方声明包含在源码中。