NCMTool 是一个用于将网易云音乐 .ncm 文件转换为常见音频格式的工具。当前仓库已经整理为两个相互独立的项目目录:
Android/:Android 应用项目,包含 Gradle 工程、Android JNI 桥接代码、Rust native library、转换核心 crate 和图标资源。RUST Windows/:Windows 桌面 Rust 项目,包含 GUI 程序、转换核心 crate、回归测试向量、构建脚本和图标资源。
两个目录都可以单独下载并构建。也就是说,只下载 Android/ 就可以完整构建 Android APK;只下载 RUST Windows/ 就可以完整构建 Windows EXE,不需要另一个平台目录里的文件。
NCM/
├─ Android/
│ ├─ app/ # Android 应用源码与资源
│ ├─ crates/ncm-android/ # JNI native library
│ ├─ shared/crates/ # Android 独立使用的转换核心
│ ├─ scripts/ # Android 构建脚本
│ ├─ Cargo.toml
│ └─ FLL.jpg # Android 图标源图
├─ RUST Windows/
│ ├─ apps/ncmco-gui/ # Windows GUI 应用
│ ├─ crates/ # Windows 独立使用的转换核心
│ ├─ tests/ # 回归测试向量
│ ├─ scripts/ # Windows 构建脚本
│ ├─ Cargo.toml
│ └─ FLL.jpg # Windows 图标源图
├─ .gitignore
└─ README.md
Android:
cd Android
powershell -ExecutionPolicy Bypass -File .\scripts\build-android.ps1输出:
Android\out\dist\NCMTool-Android-arm64.apk
Windows:
cd "RUST Windows"
powershell -ExecutionPolicy Bypass -File .\scripts\build-windows.ps1输出:
RUST Windows\out\dist\NCMTool.exe
仓库只提交源码、脚本、文档、测试向量和必要资源。以下内容会被忽略:
- Rust
target/ - Gradle
.gradle/和build/ - 构建产物
out/ - Android
jniLibs/ - APK、AAB、SO 等生成文件