一个独立的 Vector/Xposed 模块,为 ColorOS 媒体流体云追加用户配置的应用包名。主要用于让包名发生变化的共存版应用进入状态栏流体云链路。
本模块只面向明确列出的 ColorOS/OplusMediaController 版本。系统组件更新后,混淆类名或内部协议可能变化;不匹配时应停用模块并报告版本信息。
- 设置界面内添加、删除、启用或停用任意包名。
- 默认启用
com.hihonor.cloudmusic。 - 可隐藏桌面图标;隐藏后从 Vector 模块设置入口重新打开。
- 可在设置页热重载作用域应用,无需重启手机。
- Hook 作用域只应选择
com.oplus.mediacontroller。 - 不修改 SystemUI,不绕过全部白名单,不做全局包名伪装。
- 安装 APK,并在 Vector 中启用模块。
- 作用域只选择
com.oplus.mediacontroller。 - 打开
Asteria,添加并启用需要适配的应用包名。 - 点击“重载作用域应用”,授予 root 权限。
- 暂停并重新播放媒体,检查状态栏流体云。
“重载作用域应用”只终止当前 com.oplus.mediacontroller 进程,由系统自动重新拉起,不会重启手机。
- Android 15 / API 35
- OplusMediaController
15.001.005(versionCode 15001005)
该模块依赖 ColorOS 内部混淆实现。系统或 OplusMediaController 更新后,类名和字段可能变化,需要重新适配。其他 ROM 和版本未经验证。
要求:
- JDK 17
- Android SDK 35
- Android Gradle Plugin 8.13.1
使用 Android Studio 打开本目录,或者执行:
.\gradlew.bat assembleDebugXposed API 82 通过 app/libs/api-82.jar 以 compileOnly 方式提供,不会打包进 APK。该文件的来源和校验信息见 THIRD_PARTY_NOTICES.md。
正式 APK 必须使用长期保存的发布密钥。构建前设置以下环境变量:
ASTERIA_STORE_FILE
ASTERIA_STORE_PASSWORD
ASTERIA_KEY_ALIAS
ASTERIA_KEY_PASSWORD
然后执行:
.\gradlew.bat assembleRelease缺少任何签名变量时,assembleRelease 会主动失败,避免误发 Debug 签名 APK。密钥、密码和 signing.properties 均被 Git 忽略,禁止提交到仓库。
完整发布流程和公开证书指纹见 RELEASING.md。
- Hook 仅在
com.oplus.mediacontroller中加载。 - 状态栏宿主放行只对设置页中已启用的包名生效。
- root 命令的目标包名固定,界面输入不会拼接到 root 命令中。
- 模块不包含设备日志、反编译的 OEM 源码或签名材料。
- 模块不联网,不收集或上传应用列表、媒体信息和设备信息。
- “复制诊断信息”只在用户点击后写入系统剪贴板,其中包含系统指纹;分享前请自行检查。
- 当前只验证状态栏媒体流体云,未适配 AOD。
- 添加包名不保证所有应用都能工作;目标应用仍需提供有效的 Android MediaSession 与媒体元数据。
- 设置页的“重载作用域应用”会申请 root 并仅终止固定包名
com.oplus.mediacontroller,由系统自动拉起。
- GitHub/Xposed Module Repository 标签使用
VersionCode-VersionName,当前版本应为3-1.1.1。 - 只发布通过
assembleRelease生成并用长期发布证书签名的 APK。 - 每个 Release 在首次创建时同时上传 APK;不要只替换旧 Release 的附件。
Copyright © 2026 lilymilongc. 本项目以 GNU GPL v3.0 发布。
白名单编解码自测:
javac -d build/selftest app/src/main/java/io/github/lilymilongc/asteria/WhitelistCodec.java tools/WhitelistCodecSelfTest.java
java -cp build/selftest io.github.lilymilongc.asteria.WhitelistCodecSelfTest本项目仅供学习、研究与技术交流使用。使用者应自行评估兼容性与系统修改风险,并对安装、使用本项目所产生的任何直接或间接后果承担全部责任。开发者不对设备故障、数据丢失、功能异常或其他损失承担责任。请仅在你拥有或获准管理的设备上使用,并遵守所在地法律法规及相关服务条款。