規則:

  • 保持 Markdown 結構。
  • 不翻譯 URL 和代碼。
  • 只返回翻譯內容,不附加評論。

MoeKoe Music

# MoeKoe Music Mobile

一款開源、簡潔、高顏值的第三方酷狗音樂移動端播放器

基於 Expo / React Native 构建而成,是 [MoeKoeMusic](https://github.com/iAJue/MoeKoeMusic) 桌面版的移動端實現

🌎 GitHub 存儲庫  |  
📦️ 下載安裝包  |  
💬 访問博客  |  
🏠 專案首頁

一款開源、簡潔、高顏值的第三方酷狗音樂移動端播放器

基於 Expo / React Native 构建而成,是 MoeKoeMusic 桌面版的移動端實現

Expo SDK React Native TypeScript License Platform


✨ 特性

  • 🎵 無需自建伺服器 — 酷狗 API 适配層直接直連官方,開箱即用,不依賴外部 API 地址
  • 🏠 首頁推薦 — 每日推薦、精選歌單、排行榜
  • 🧭 發現頁 — 分類歌單、新歌速遞等內容探索
  • 🔍 搜索 — 快速檢索歌曲、歌單、專輯
  • 📀 歌單 / 專輯 / 排行榜 — 完整的詳情頁與曲目列表
  • 🎧 播放器 — 滾動歌詞、播放隊列、迷你播放條(MiniPlayer)、後台播放
  • 🎚️ 音質檢測 — 自動探測並選擇可用音質
  • 📱 手機號登錄 — 同步酷狗賬號的收藏與歌單
  • 🌗 深色模式 — 跟隨系統自動切換明暗主題

📝 Todo List

  • [x] 首頁每日推薦 / 精選歌單 / 排行榜
  • [x] 發現頁分類內容瀏覽
  • [x] 搜索歌曲、歌單、專輯
  • [x] 歌單 / 專輯 / 排行榜詳情頁
  • [x] 播放器:滾動歌詞、播放隊列、迷你播放條、後台播放
  • [x] 音質檢測與自動選擇
  • [x] 手機號登錄
  • [x] 賬號密碼登錄
  • [x] 扫描登錄(其他設備)
  • [x] 我喜歡 / 收藏同步
  • [x] 用戶歌單管理(創建 / 收藏 / 編輯)
  • [ ] 通知欄 / 锁屏播放控制
  • [ ] 歌曲詳情瀏覽
  • [ ] 桌面歌詞
  • [ ] 聽歌識曲
  • [ ] 平板與橫屏適配
  • [ ] 性能優化

📸 預覽

Screenshot 1Screenshot 2Screenshot 3
Screenshot 4Screenshot 5Screenshot 6

🚀 快速開始

環境要求

  • Node.js ≥ 22
  • Git
  • iOS 模擬器 / Android 模擬器,或安裝了開發版客戶端的真機

開發運行

# 克隆倉庫(包含 api submodule)
git clone --recurse-submodules https://github.com/MoeKoeMusic/MoeKoeMusic-Mobile.git
cd MoeKoeMusic-Mobile

# 安裝依賴
npm install
npm --prefix api install

# 生成移動端 API 入口(api/ 更新後需重新執行)
npm run generate:mobile-api

# 啟動開發伺服器
npx expo start

如果克隆時遺漏了 submodule,可執行 git submodule update --init 补齊。

打包構建

項目使用 EAS Build:

# 開發版(Development Client)
eas build --profile development --platform android

# 預覽版(內部分發)
eas build --profile preview --platform android

# 生產版
eas build --profile production --platform all

🏗️ 專案結構

├── api/                    # KuGouMusicApi(git submodule)
├── scripts/
│   └── generate-mobile-api-entry.mjs   # 扫描 api/module 生成移動端入口
├── src/
│   ├── app/                # expo-router 路由
│   │   ├── (tabs)/         # 首頁、發現、我的
│   │   ├── player.tsx      # 全屏播放頁
│   │   ├── search.tsx      # 搜索頁
│   │   ├── login.tsx       # 登錄頁
│   │   └── playlist|album|rank/[id].tsx  # 詳情頁
│   ├── components/ui/      # 通用 UI 組件(歌詞、隊列、迷你播放條等)
│   ├── features/           # 業務模塊(player / discover / search / account ...)
│   ├── lib/kugou-api/      # 應用內 API 运行時适配層
│   ├── hooks/              # 通用 Hooks
│   └── constants/          # 主题與布局常量
├── app.json                # Expo 應用配置
└── eas.json                # EAS 构建配置

🔧 技術堆疊

分類 方案
框架 Expo SDK 57 + React Native 0.86 + React 19(啟用 React Compiler)
路由 expo-router(文件路由 + Typed Routes)
UI Tamagui v2
音頻 expo-audio(支持後台播放)
動畫 react-native-reanimated 4
資料源 KuGouMusicApi(應用內運行,無需部署)

🤝 相關專案

  • MoeKoeMusic — 桌面版(Windows / macOS / Linux)
  • KuGouMusicApi — 酷狗音樂 Node.js API,本專案的數據來源

💬 貢獻

歡迎任何形式的貢獻!

  1. Fork 本倉庫
  2. 創建特性分支:git checkout -b feat/amazing-feature
  3. 提交變更:git commit -m 'feat: add amazing feature'
  4. 推送分支並發起 Pull Request

發現問題或有功能建議,請提交 Issue。

⚠️ 免責聲明

  1. 本專案僅供學習與技術研究使用,請勿用於任何商業用途。
  2. 本專案不存儲、不分發任何音頻資源,所有數據均來自酷狗音樂官方接口。
  3. 音樂版權屬於酷狗音樂及相應版權方所有,請支持正版音樂。
  4. 使用本專案產生的一切後果由使用者自行承擔,與開發者無關。

📄 License

本專案基於 GPL-2.0 License 開源。