// the find
wangchenyan/ponymusic
An Android online music player like NetEase Cloud Music, based on Media3 and ExoPlayer
A Kotlin Android music player that streams Netease Cloud Music through an unofficial API and also plays local files, with lyrics, rankings, search, and a home-screen widget. It suits Android developers who want a full, non-trivial Media3 app to read, and people who already run a NeteaseCloudMusicApi server and want a client for it.
Playback runs on Media3 and ExoPlayer, and the README says the player core moved there in 2.3.0. That is the right base for new work, and the playback service is worth reading if you are building your own. The Room schema JSON files are committed under app/schemas, so database migrations can be reviewed as diffs. The stack is conventional and easy to follow: MVVM, Hilt, Retrofit, Room, Glide, and a Glance widget. A reader can map it onto most production Android apps without much friction.
It needs a self-hosted NeteaseCloudMusicApi server on the same LAN. The README's fallback is running that server in Termux on the phone itself, which works but is far from a normal install, and there is no hosted backend. The API is unofficial, so any change on Netease's side can break login, search, or playlist sync, and the README makes no compatibility promise. The README, release notes, and setup steps are all in Chinese, which makes the project hard to adopt or contribute to for English-only developers. Firebase is included for analytics and crash collection, but the README does not say what is sent. For an app that stores a user's Netease login, that should be checked before forking.