v1.9
一、功能修复与体验优化
修复配置变更导致数据丢失
解决屏幕旋转、深色模式切换、分屏操作后邮箱账户与邮件列表数据丢失的问题。
优化数据持久化存储机制,确保配置变更后账户与邮件列表仍可可靠恢复。
优化邮件排序机制
邮件排序由基于 time 字符串的字典序排序,调整为基于实际时间戳排序。
即使 API 时间格式发生变化,邮件列表仍能保持正确的时间顺序,避免乱序。
邮件详情弹窗国际化
将邮件详情 Dialog 中的硬编码中文文本替换为国际化资源引用。
涉及文本包括:“关闭”“复制验证码”“验证码已复制”“网络错误”“查询失败”等。
弹窗文案将跟随系统语言显示,避免非中文用户出现体验断裂。
修复纯文本邮件发件人显示异常
修复 parseEmails 处理纯文本邮件时构造 from="" 的问题。
邮件列表现在可正确显示发件人信息,避免出现空白发件人。
二、安全加固
签名密钥密码安全管理
从版本控制系统中移除 keystore 密码。
更换为符合安全标准的强密码,并纳入安全的密码管理机制。
避免密钥凭据继续暴露在代码仓库中。
Release 构建日志清理
确保 Release 构建版本可靠移除所有 Log 输出。
防止通过日志泄露邮箱地址、验证码、接口信息等敏感数据。
WebView 文件访问限制
禁用 WebView 的 allowFileAccess 选项。
防止不可信网页内容访问本地文件系统,降低本地文件泄露风险。
APK 下载完整性校验
为 APK 下载功能添加 SHA-256 校验机制。
下载完成后自动校验安装包完整性,校验失败将拒绝使用,防止更新链路被篡改。
本次安装包 SHA-256:<发布时填写>
FileProvider 访问路径收敛
限制 FileProvider 的访问路径范围。
避免过度宽松的路径配置导致本地文件暴露风险,仅开放必要共享目录。
URL 参数正确编码
对所有 URL 参数进行正确编码处理。
防止参数注入攻击,同时避免特殊字符导致接口解析错误。
三、兼容性与测试验证
本次更新已针对以下场景进行验证:
屏幕旋转、深色模式切换、分屏操作后的数据持久化;
API 时间格式变化下的邮件排序;
多语言环境下邮件详情弹窗显示;
纯文本邮件发件人显示;
Release 构建日志清理;
WebView 文件访问限制;
APK 下载 SHA-256 校验;
FileProvider 路径限制;
URL 参数编码与特殊字符处理;
核心流程回归:账户登录、邮件列表加载、邮件详情查看、验证码复制、更新下载等。