GrapheneOS(GrapheneOS)项目下的 Messaging(Messaging)应用在 GitHub(GitHub)发布 Release 13,版本标签为 13。该发布条目位于 GrapheneOS/Messaging 仓库的 releases/tag/13 页面,标题显示为 Release 13 · GrapheneOS/Messaging。页面地址是 github.com/GrapheneOS/Messaging/releases/tag/13,所属仓库为 GrapheneOS/Messaging。这次发布以 Release 13 为标识,页面路径中的标签同为 13。该页面标题由版本号与仓库名组成,版本号 13 与标签 13 一致。
正文
版本 13 的显著变化:
版本 13 用 Jetpack Compose 和 Material 3 替换旧界面,重建所有屏幕,新增会话控制和大屏支持,并修复崩溃、通知、安全及消息处理方面的问题。
界面
- Material 3 / Expressive 设计,带形状元素
- 大屏上双栏会话布局
- 新的自适应应用图标,带单色变体
- 新引导流程,涵盖 SMS 隐私、权限和默认应用设置
- 两种方向下正确处理显示挖孔和系统栏
会话列表
- 置顶会话
- 将通知暂停 1、8 或 24 小时,或无限期暂停
- 通过菜单或滑动将会话标为未读
- 滑动归档或取消归档
- 从会话头像快速操作
- 重新设计多选操作:归档、删除、屏蔽和通知
- 未读、置顶、暂停、通知关闭、工作资料和传入 MMS 状态指示
- 重新设计归档屏幕
- 置顶、归档和删除现在立即生效
会话
- 重建消息气泡、分组、选择和链接处理
- 选择多条消息删除
- 全屏消息详情,可复制发件人、收件人、时间戳、送达状态、大小、类型和优先级
- SMS 分段和字符计数器
- 从会话溢出菜单添加、编辑或移除 MMS 主题
- 被屏蔽发件人横幅,带取消屏蔽操作
- 向现有会话添加参与者,或从新聊天屏幕创建群组
- 重新设计收件人选择器,按字母分区,显示电子邮件地址、格式化号码,每个联系人可多个号码
- 无法从会话拨打紧急号码
- SIM 回退现在使用系统默认 SIM,而不是第一张 SIM
- 顶栏操作:通话、联系人气泡和会话设置
- 发送前检查附件限制,发送错误可见
- 删除会话期间到达的消息不再被销毁
附件和媒体
- 重建媒体选择器,支持拍照和录像、闪光灯控制,以及 Android 内嵌照片选择器
- 重新设计录音,支持滑动取消和免手持锁定
- 附件说明文字
- 重写照片查看器,支持双指缩放、页面指示、详情,并正确处理系统栏
- 重写 vCard 查看器,支持头像、联系人变更刷新和保存到联系人
分享和转发
- 新分享选择器,支持搜索、最近会话、按字母排序的联系人和多选
- 编辑分享内容、添加主题、预览并选择 SIM
- 转发和小组件使用同一选择器
- 小组件的新消息按钮打开新聊天屏幕
- 缺失的分享文本会从其 content URI 读取;缺失的主题使用分享标题
- 分享失败现在会报告
设置
- 重写主设置、常规设置和每 SIM 设置
- 新增隐私部分
- 重写许可证屏幕,使用生成的许可证数据
- 保留现有的每会话通知设置
隐私和安全
- YouTube 链接预览改为选择加入,默认禁用
- 分享内容验证拒绝 file: URI 和私有应用文件,并检查 content URI 权限
- 从 content URI 读取的分享文本接受同样的私有文件检查
- 小组件接收器不再导出,小组件 intent 限制在应用内
- 在不需要可变性的地方,pending intent 使用 FLAG_IMMUTABLE
- 为 EXIF APP1、MMS PDU 和 MMS content-type 解析添加分配限制
- 修复 GIF 空指针解引用、原生转码前缺少尺寸检查,以及带符号字符颜色损坏
- 更新 AOSP vCard 解析器,带入上游修复
- 限制通知人员列表,修复了一个报告的崩溃问题
- 引导流程说明 SMS 未加密,并建议敏感消息使用端到端加密
崩溃修复
- 修复小组件、SMS 数据库插入失败、拒接来电快速回复、未保存号码的设置以及分享 intent 中的崩溃
- 分享 intent 不再静默丢弃附件
消息和通知
- 收到的 SMS 立即导入
- 失败消息通知正确送达
- 内联通知回复不再打开主屏幕
- 未读通知在重启后仍然保留
- 被屏蔽的会话不再播放通知声音
- 已删除的会话在同步期间不再收到通知
- 同步不再覆盖归档更改
- 修复 MMS 下载与通知之间的竞态
- 待处理 MMS 消息显示其主题和下载状态
- 未知群组发件人显示其电话号码
- 重写 Class 0 消息对话框,正确超时和生命周期处理
- 低存储警告可关闭,并在消息数据库已满时也出现
多用户和工作资料
- 次要用户通知显示消息内容,并使用唯一 ID
- 次要用户会被告知待处理 MMS 必须由 Owner 用户获取;下载后消息对所有用户可用
- 工作资料会话有标签
无障碍
- 为屏幕、窗格、控件和行添加屏幕阅读器标签
- 时间戳朗读完整星期名称
- 复制消息详情可作为无障碍操作
- 修复会话列表焦点和滑动操作状态播报
- 发送消息会产生播报和声音
测试
- 扩展单元测试和仪器化测试,覆盖新的数据、领域和 Compose UI 层
- 每个 pull request 都运行测试、构建和静态分析
- 许可证报告在 CI 中生成并检查
平台和依赖
依赖和所需平台版本更新:
- minSdk 36
- targetSdk 37
- compileSdk 37
- Android Gradle Plugin 9.3.2
- Kotlin 2.4.10
- Gradle 9.7.1
- Glide 5.0.9
- Guava 33.7.1
- libphonenumber 9.0.38
- 新增 Compose BOM 2026.08.00、Material 3 Adaptive、Navigation 3、Coil 3 和 CameraX
从上一版本(版本 12)到本版本的完整变更列表可通过两个版本之间的 Git 提交日志查看。




评论
社区对 GrapheneOS 新版消息应用的快速推出反应分化,外观认可与功能倒退的质疑并存,同时不少人更关心电话应用、系统备份等其它需求或硬件兼容限制。
指出新版消息应用存在功能回归与测试疑虑
- 较多人指出界面虽更美观,但长按链接复制一次性代码等核心交互出现倒退,且开发者将问题标记为特性而非回归,结合其此前宣称用 AI 与资深开发者提升标准的说法,令人质疑测试质量(较多人)。 > 外观变好看了,但复制验证码的功能反而退化,让人怀疑现在的测试水平(@gib444)
认为 Material 3 设计风格是减分项
- 少数人反感采用 Material 3/Material You,认为其让界面元素莫名变大、留白过宽,实际体验糟糕(少数人)。 > 看到用 Material 3 反而是扣分项,把手机元素和空白都无谓放大简直荒唐(@andrepd)
好奇小团队如何权衡消息应用的开发资源
- 少数人推测 LLM 工具降低了开发成本,或出于生态完善、平台安全考虑才投入消息应用,想了解项目内部思路(少数人)。 > 小团队维护安全系统之余,好奇他们为何以及如何权衡资源去做消息应用(@mmooss)
认为电话应用、系统备份等功能更急需优先级
- 较多人呼吁优先解决电话 App 极差的 UX(易误拨、无具体通话时间)、完整系统备份(指 Seedvault 难用)以及等待 RCS 期间的加密短信支持(较多人)。 > 电话应用体验糟糕透顶,连通话具体时间和防误触都做不好,远比消息应用该优先(@mrd3v0)
关注硬件门槛与兼容生态
- 较多人提及必须购买 Google 设备才能使用的限制令人遗憾,并期待与 Fairephone 等硬件结合以打开新市场(较多人)。 > 等不需要花几百美元买 Google 手机才能用这系统时再来叫我(@mvdtnz)
有价值的补充
- 有用户分享老版本曾出现联系人姓名与收发件人不匹配的严重 bug,导致短信发错人或收错名下,说明历史版本稳定性也曾存疑。
- 项目方此前在讨论中用 AI 辅助新消息应用开发以提升代码审查标准,这一背景与当前功能回归形成反差。