开源项目
OxygenCobalt/Auxio avatar
OxygenCobalt/Auxio

Auxio:一个拒绝堆功能的 Android 本地音乐播放器

一个简单、理性的安卓音乐播放器。 Auxio 基于现代媒体播放库构建,与使用过时 Android 功能的其他应用程序相比,Auxio 具有卓越的库支持和聆听质量。

4,273 个 Star322 个 ForkKotlinGPL-3.0
GitHub

秒懂

它是什么?
Auxio 是一款基于 Media3 ExoPlayer 的本地音乐播放器,主打简洁与私有。它用现代播放库替换过时的 Android 音频栈,但代价是构建门槛高,且默认分支是开发版。
适合谁用?
适合那些只需要本地音乐播放、看重隐私和播放质量、并且愿意接受功能克制的用户。不适合依赖云同步、在线流媒体或大量自定义界面的用户。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库最近一次提交在 8 天前。
用什么语言写的?
主要是 Kotlin(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题,谁需要它

Auxio 的目标人群很明确:只播放本地音乐文件、不想被在线服务绑定、也讨厌功能堆砌的用户。它的 README 直言不讳,说自己没有其他播放器里的“无用功能”,核心就是“It plays music”。这句话不是谦虚,而是设计宣言。当前 Android 生态里,很多播放器要么捆绑流媒体,要么把界面塞满推荐和社交功能。Auxio 反其道而行,把范围收窄到本地音频库的浏览和播放。它适合那些手机里存着大量 MP3、FLAC,希望界面响应快、操作直接的人。不适合需要歌词、云同步或在线电台的用户,这些功能它明确不做。

底层机制:Media3 与 taglib 的组合

Auxio 的播放核心是 Media3 ExoPlayer,这是 Android 官方维护的媒体库,比旧的 MediaPlayer 和 MediaCodec 封装更现代。但 Auxio 没有直接用官方版,而是依赖一个打了补丁的 Media3,这个补丁启用了“额外播放特性”。具体是什么特性,README 没有展开。元数据解析则交给 taglib,一个 C++ 库,用于读取音频文件的标签。这个组合带来两个直接结果:一是对碟号、多位艺术家、发行类型、精确日期、排序标签等元数据有较好的支持;二是 ReplayGain 可以完整生效,覆盖 MP3、FLAC、OGG、OPUS 和 MP4 格式。ReplayGain 是标准化音量响度的机制,如果文件里预置了响度标签,播放时能自动调整音量,避免不同专辑之间忽大忽小。这是 Auxio 相对很多依赖旧 Android 音频栈的应用的实质优势。

构建流程:先过三道坎

想自己编译 Auxio,得先接受三个前提。第一,系统必须装 cmake 和 ninja-build,因为项目要编译原生代码。第二,克隆仓库必须用 git clone --recurse-submodules,否则外部依赖缺失。第三,也是最硬性的限制,Windows 无法构建,因为自定义 Media3 的构建脚本依赖 Unix shell。官方文档给出的环境是 Android Studio,需要 NDK 版本 28.2.13676358,Java 21。构建命令是 ./gradlew assembleDebug,安装到设备用 ./gradlew installDebug。如果你想推送测试音乐,文档给了 adb push 示例,把 ~Music 目录推到 /sdcard/Music。这套流程对熟悉 Android 原生开发的人不复杂,但普通用户不会去碰。好在项目发布在 F-Droid 和 Accrescent,不想自己编译的可以直接装预编译包。

功能清单里的取舍

Auxio 的功能列表读起来像一份克制声明。它支持 Android Auto、无间隙播放、播放状态持久化、耳机自动播放、搜索、嵌入式封面、自适应尺寸的 widget,还有外部均衡器支持,比如 Wavelet。这些功能都围绕本地播放这个核心。它明确拒绝圆角专辑封面,理由是“如果你想要它们”。这个细节说明开发者的态度:不做任何视觉上的妥协。但克制也有代价。文档没有提到歌词、睡眠定时器、多设备同步或任何在线功能。它的播放列表功能“可靠”,但具体机制没有展开。艺术家系统把艺术家和专辑艺术家统一处理,这对元数据混乱的音乐库很有用,但也意味着如果你刻意区分这两者,可能得不到预期结果。

隐私与权限的边界

Auxio 声称“完全私有且离线”。这体现在权限上:它只需要读取音频文件的权限、前台服务权限、唤醒锁和通知权限。没有网络权限,这意味着应用无法上传你的听歌记录,也无法展示广告。这个设计在当今播放器里算少数派。但要注意,离线意味着没有歌词在线抓取,没有封面在线补全,也没有智能推荐。所有信息都来自本地文件的标签。如果你的音乐文件标签不完整,Auxio 不会帮你修复。它的元数据支持强大,但前提是数据本身存在。另外,权限列表里同时出现 READ_MEDIA_AUDIO 和 READ_EXTERNAL_STORAGE,这可能是为了兼容不同 Android 版本,但 README 没有解释具体为什么需要两个。

维护状态与升级成本

仓库默认分支是 dev,README 明确警告这是开发版本,稳定版在 master 分支。最近一次推送是 2026 年 8 月,v4.1.5 在 8 月 4 日发布,v4.1.4 在 7 月 28 日,v4.1.3 在 7 月 9 日。节奏大约是每两三周一个补丁版本。这不算快,也不算慢。项目没有标记为归档,说明仍在活跃。升级成本方面,如果你通过 F-Droid 安装,更新由 F-Droid 处理。如果自己编译,每次升级都要重新拉取子模块并重新跑构建,考虑到 Media3 是打补丁的版本,上游合并时可能产生冲突。GPL-3.0 许可证意味着你可以修改和分发,但任何分发版本必须同样以 GPL-3.0 发布。这不是法律建议,但这是许可证的明文要求。

局限与替代方案

Auxio 的最大局限是它的哲学本身。功能克制的另一面是,如果你想要任何它没列出的功能,你只能等开发者决定加,或者自己改代码。项目贡献指南明确说,功能添加和重大 UI 改动“不太可能被接受”。这意味着它不是一个适合普通用户提需求的平台。另一个实际问题是构建门槛:Windows 用户无法编译,这排除了相当一部分潜在贡献者。替代方案方面,比较直接的是 Vinyl Music Player,它也走本地播放路线,但基于旧版 MediaPlayer,对 ReplayGain 的支持不如 Auxio 完整。另一个是 Retro Music Player,界面更花哨,功能更多,但代码库更重,而且不强调离线隐私。如果你需要在线流媒体,Auxio 根本不是备选,你应该看 Spotify 或 Apple Music 的 API 客户端。核心差异在于:Auxio 把播放质量放在功能数量之前,而大多数替代品把功能数量放在首位。

编辑结论

适合那些只需要本地音乐播放、看重隐私和播放质量、并且愿意接受功能克制的用户。不适合依赖云同步、在线流媒体或大量自定义界面的用户。在采用前,先确认你能接受 GPL-3.0 的传染性,如果你要分发修改版,必须开源。另外,默认的 dev 分支不是稳定版,下载时应选择 master 分支或 v4.1.5 等发布标签。构建时务必先安装 cmake 和 ninja-build,并记住 Windows 无法编译。最后,检查你的音乐文件是否包含 ReplayGain 标签,否则这项优势对你没有实际意义。

官方来源

  1. Official README
  2. Project repository
  3. Release notes
社区笔记

社区笔记