QAuxiliary 是一个基于 QNotified 的开源 Xposed 模块
激活本模块后,在 QQ 或者 TIM 自带设置中点击 QAuxiliary 即可进入设置页面
版权所有©2022 gao_cai_sheng <qwq233@qwq2333.top, qwq2333.top>
允许在遵守 CC BY-NC-SA 4.0 协议的同时,复制和分发此协议文档的逐字记录副本,
且允许对其进行更改,但必须保留其版权信息与原作者。如果您提出申请特殊权限,协议
作者可在其口头或书面授予任何人任何但不包括以盈利为目的的使用本协议的权利。
请务必仔细阅读和理解通用许可协议书中规定的所有权利和限制。在使用前,您需要仔细
阅读并决定接受或不接受本协议的条款。除非或直至您接受本协议的条款,否则本作品及
其相关副本、相关程序代码或相关资源不得在您的任何终端上下载、安装或使用。
您一旦下载、使用本作品及其相关副本、相关程序代码或相关资源,即表示您同意接受本
协议各项条款的约束。如您不同意本协议中的条款,您则应当立即删除本作品、附属资源
及其相关源代码。
本作品权利只许可使用,而不出售。
QAuxiliary 采用滚动更新方式发布新版本,我们总是推荐用户使用最新版 QAuxiliary,无论您的 QQ 或者 TIM 客户端是哪个版本。
QAuxiliary 将为分 CI
和 推荐的CI
两个版本
CI
版本为 commit 后自动触发更新,可能包含外围文档或 CI 流程更新,不会编写任何更新文档或说明, 具体更新内容可在GitHub 自行查看,本更新由开源的流程自动编译发布,可能包含严重的功能及行为异常。
推荐的CI
版本为重大功能变更或长期积累更新,发布频率由开发组决定,包含上次CI
版至今的所有功能更新及 Bug 修复,但可能不包括尚未稳定或正在开发中的功能; 推荐的CI
版本是被挑选出的推荐用户更新的 CI
版本 (如:添加功能或者修复重要 Bug)
开发组不限制用户选择自己需要的版本,同时也不为任何版本产生的任何后果承担任何责任 (详情请见QAuxiliary EULA), 但希望各位用户各取所需,根据自己的能力范围选择适合自己的版本。
major.minor.bugfix.rev.commit
rev
为 commit 计数,commit
位都会是触发此次更新的 commit 的 hash 的前 7 位。为什么没有上架 Google Play?
因为 Google Play 不允许 app 具有运行时动态加载外部代码的行为。 而本模块为了能够在运行期动态继承宿主的类(类名被混淆,运行时才能确定),使用了 byte-buddy 库用于在运行时动态生成代码并使用 InMemoryDexClassLoader 实现 dex 不落地加载,这是 Google Play 不允许的行为。
local.properties
中指定 qauxv.override.ninja.path
为 Ninja 的路径 (如 qauxv.override.ninja.path=/usr/bin/ninja
).ccacheExecutablePath
为 null
)git clone https://github.com/cinit/QAuxiliary
cd QAuxiliary
git submodule update --init
git -C "libs/LSPlant" config "submodule.test/src/main/jni/external/lsprism.update" none
git -C "libs/LSPlant" config "submodule.test/src/main/jni/external/lsparself.update" none
git -C "libs/LSPlant" config "submodule.docs/doxygen-awesome-css.update" none
git -C "libs/mmkv/MMKV" config "submodule.Python/pybind11.update" none
git submodule foreach git submodule update --init --recursive
去除不使用的 submodule 后,一共有 14 个 submodule, 如果 clone 了很久也没有完成,请检查您的网络以及代理是否配置正确。./gradlew :app:assembleDebug
或者 ./gradlew :app:synthesizeDistReleaseApksCI
;本项目编译环境配置可能比较复杂,如果您在配置环境或者编译过程中遇到任何问题,您可以直接在交流群或 GitHub Issue 中提出,我们会尽快回复。