Rules:

MoeKoe Music

# MoeKoe Music Mobile

An open-source, simple, and aesthetically pleasing third-party Kugou Music mobile player

Built on Expo / React Native, it is the mobile implementation of the MoeKoeMusic desktop version

🌎 GitHub Repository   |  
📦️ Download Installer   |  
💬 Visit Blog   |  
🏠 Project Homepage

An open-source, simple, and aesthetically pleasing third-party Kugou Music mobile player

Built on Expo / React Native, it is the mobile implementation of the MoeKoeMusic desktop version

Expo SDK
React Native
TypeScript
License
Platform


✨ Features

📝 Todo List

📸 Preview

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

🚀 Quick Start

Environment Requirements

Development and Running

# Clone repository (including api submodule)
git clone --recurse-submodules https://github.com/MoeKoeMusic/MoeKoeMusic-Mobile.git
cd MoeKoeMusic-Mobile

# Install dependencies
npm install
npm --prefix api install

# Generate mobile API entry (api/ updated, need to run again)
npm run generate:mobile-api

# Start development server
npx expo start

If you missed the submodule during cloning, you can execute git submodule update --init to fill it in.

Build and Package

The project uses EAS Build :

# Development Client
eas build --profile development --platform android

# Preview Version (internal distribution)
eas build --profile preview --platform android

# Production
eas build --profile production --platform all

🏗️ Project Structure

├── api/                    # KuGouMusicApi(git submodule)
├── scripts/
│   └── generate-mobile-api-entry.mjs   # Scan api/module to generate mobile entry
├── src/
│   ├── app/                # expo-router routes
│   │   ├── (tabs)/         # Home, Discovery, My
│   │   ├── player.tsx      # Full-screen play page
│   │   ├── search.tsx      # Search page
│   │   ├── login.tsx       # Login page
│   │   └── playlist|album|rank/[id].tsx  # Detail page
│   ├── components/ui/      # General UI components (lyrics, queue, mini player, etc.)
│   ├── features/           # Business modules (player / discover / search / account ...)
│   ├── lib/kugou-api/      # In-app API runtime adapter
│   ├── hooks/              # General Hooks
│   └── constants/          # Theme and layout constants
├── app.json                # Expo app configuration
└── eas.json                # EAS build configuration

🔧 Technology Stack

Category Solution
Framework Expo SDK 57 + React Native 0.86 + React 19 (React Compiler enabled)
Routing expo-router (file routing + Typed Routes)
UI Tamagui v2
Audio expo-audio (supports background play)
Animation react-native-reanimated 4
Data Source KuGouMusicApi (runs in-app, no deployment required)

💬 Contributions

Welcome to any form of contribution!

  1. Fork this repository
  2. Create a feature branch: git checkout -b feat/amazing-feature
  3. Commit changes: git commit -m 'feat: add amazing feature'
  4. Push branch and initiate Pull Request

If you find a bug or have feature suggestions, please submit Issue .

⚠️ Disclaimer

  1. This project is forlearning and technical researchonly, please do not use it for any commercial purposes.
  2. This project does not store or distribute any audio resources, all data comes from the official Kugou Music interface.
  3. The copyright of the music belongs to Kugou Music and the respective copyright holders, please support authorized music.
  4. All consequences arising from the use of this project are borne by the user, and are not related to the developers.

📄 License

This project is open-source under the GPL-2.0 License.

Copyright Notice

Author: MoeJue

Link: https://ja.moejue.cn/en/posts/342/

License: クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンスに基づいてライセンスされています。

Start searching

Enter keywords to search articles

↑↓
↵
ESC
⌘K Shortcut