// the find
lyswhut/lx-music-mobile
一个基于 React native 开发的音乐软件
A React Native music player for Android that proxies playback through user-supplied JavaScript 'source' plugins — essentially scripts that talk to Chinese streaming platforms like 酷我 and 酷狗. The app itself fetches nothing; it hands song metadata to a QuickJS-sandboxed script and plays back whatever URL the script returns. Aimed squarely at Chinese users who want cross-platform library management without paying for multiple subscriptions.
The QuickJS native module for running user source scripts is the right architectural call — isolating untrusted JS in a separate thread via a dedicated handler loop means a broken source can't hang the UI. The custom Java lyric renderer (LyricView/LyricSwitchView) does smooth scrolling natively instead of fighting React Native's bridge for frame-rate-sensitive animation. Self-hosted sync server option means your playlist data doesn't live on someone else's infrastructure. i18n is wired in from the start with real translation files, not an afterthought.
The whole thing is Android-only with an explicit 'no iOS plans' note — the ios/ directory is a skeleton left over from RN scaffolding, not a usable build. The source plugin model is load-bearing but fragile: when a platform changes its API or encryption scheme, every user is broken until a community maintainer pushes an updated script, and there's no fallback. The supplementary license on top of Apache 2.0 requires users to delete any 'copyright data' within 24 hours, which is legally unenforceable boilerplate that also makes any derivative work legally awkward. Still on Redux in 2026 — not a blocker, but the store management is heavier than necessary for what is essentially a playlist state machine.