QAuxiliary模块在Android 15上的防撤回功能失效问题分析
问题现象
近期有用户反馈在使用QAuxiliary模块时遇到了防撤回功能失效的问题。具体表现为:在QQ私聊和群聊场景中,当对方发送消息后撤回时,本地客户端仅显示QQ原生的撤回提醒,而未能保留原始消息内容,也没有显示模块特有的灰色"已撤回"提示文字。
环境分析
经过排查,该问题出现在以下特定环境中:
- 操作系统:Android 15
- Xposed框架:LSPatch 0.7
- QQ版本:9.1.35.22670(8708)
- QAuxiliary模块版本:1.5.6.r2596.49aaf5f(2596)
根本原因
问题根源在于Xposed框架与Android 15系统的兼容性问题。LSPatch 0.7版本尚未完全适配Android 15的新特性和API变更,导致模块的部分hook功能无法正常生效。特别是消息撤回相关的hook点未能成功拦截系统调用,使得防撤回功能失效。
解决方案
针对此问题,建议采取以下解决方案:
-
更换Xposed框架:使用专为Android 15适配的框架版本,如FPA(Future Patch Android)框架。该框架针对新版本Android系统进行了优化,能够更好地支持模块功能。
-
验证框架兼容性:在更换框架后,不仅防撤回功能恢复正常,用户反馈的其他问题(如"以图片形式打开闪照"导致的界面卡顿)也得到解决,这进一步证实了框架兼容性的重要性。
技术建议
对于开发者和高级用户,在处理类似问题时应注意:
-
系统版本适配:随着Android系统迭代更新,模块开发者需要及时跟进新系统的API变化,特别是涉及进程注入和hook机制的改动。
-
框架选择:不同Xposed框架实现各有侧重,用户应根据自己的系统版本选择最适合的框架变种。对于Android 15等新系统,建议优先考虑声明支持该版本的框架。
-
功能测试:在系统或框架升级后,应全面测试模块各项功能,包括但不限于防撤回、消息记录、特殊消息处理等核心功能。
总结
本次QAuxiliary模块防撤回功能失效的案例,揭示了Xposed模块在新版本Android系统上可能面临的兼容性挑战。通过更换适配性更好的框架可以解决大部分问题,同时也提醒模块开发者需要持续关注系统更新带来的影响,确保模块功能在不同环境下都能稳定运行。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust069- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
Hy3-previewHy3 preview 是由腾讯混元团队研发的2950亿参数混合专家(Mixture-of-Experts, MoE)模型,包含210亿激活参数和38亿MTP层参数。Hy3 preview是在我们重构的基础设施上训练的首款模型,也是目前发布的性能最强的模型。该模型在复杂推理、指令遵循、上下文学习、代码生成及智能体任务等方面均实现了显著提升。Python00