2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00
2026-08-11 00:33:28 +08:00

LoveLive Music Player — KMP + Compose Multiplatform

与 Flutter 仓库 LoveLiveMusicPlayerMobile 并列。UI 使用 Compose MultiplatformAndroid / iOS 一致PC 仍为 Electron本仓库提供协议客户端与共享模型。

包名:top.zhushenwudi.llmp

Maven / Nexus

settings.gradle.kts 已对齐 Flutter android/nexus_repos.gradle

  • 探测 http://192.168.123.100:18081/service/rest/v1/status2s
  • 可达 → maven-public / google / mob / gradle(插件) / jitpack
  • 不可达 → 公网 google() / mavenCentral() / gradlePluginPortal()
  • 强制:-PuseNexus=true|false

模块

模块 职责
:shared 协议、模型、SQLDelight、OSS、歌词、传歌/同步、Player、Settings、FileSystem、PlatformServices
:composeApp CMP UI + Android 原生Glance Widget、LyricService、扫码、WebView
iosApp/ Xcode 脚手架CarPlay / PiP / WidgetKit需 macOS 签名链接

构建Windows

./gradlew.bat :shared:testDebugUnitTest
./gradlew.bat :composeApp:assembleDebug
./gradlew.bat :composeApp:installDebug

Debug APKcomposeApp/build/outputs/apk/debug/composeApp-debug.apk

原生功能矩阵

功能 Android iOS 状态
播放引擎 ExoPlayer单实例 + MediaSession AVPlayer + MPNowPlaying / RemoteCommand done
FileSystem.writeBytes 完整 NSData 原子写入 done
桌面歌词 LyricService 悬浮窗 + 设置开关 PiPiosApp/pip/*Swift doneiOS 需 Mac 链 framework
Home Widget Glance 四样式 + HomeWidgetPreferences WidgetKit White/BlackiosApp/WidgetExtension doneiOS 需 Xcode target
CarPlay 目录模型 CarPlayCatalogcommon CarPlaySceneDelegate Tab Music/Album/Mine sources done;真机需 Apple carplay-audio entitlement
深链 llmp:// Manifest + DeepLinkHandler SceneDelegate + App Group done
USB 挂载监听 Broadcast + UsbMountMonitor N/ANoOp doneAndroid
系统分享 ACTION_SEND UIActivity / Notification → Swift done(最低系统分享)
QR 扫码 ZXing embedded QrScanActivity IP 粘贴(相机可在 Swift 补) doneAndroid 真扫)
萌娘百科 / 立绘 WebViewActivity + assets/tachie openURL / Safari done
友盟 UmengBridge 反射key 634bd9c688ccdf4b7e4ac67b 需在 Swift 初始化 iOS key doneAndroid 反射SDK 可选)
PlatformServices MainActivity installAndroidPlatformServices installIosPlatformServices done(非 NoOp 默认)

仍需 macOS / Apple 开发者完成的项

  1. Xcode 工程:创建 App + Widget Extension链接 ComposeApp.framework./gradlew :composeApp:linkDebugFrameworkIosSimulatorArm64
  2. 签名 / App Groupgroup.top.zhushenwudi.llmp(已从 Flutter group.com.zhushenwudi.lovelivemusicplayer 迁移;见 iosApp/README.md
  3. CarPlay entitlementcom.apple.developer.carplay-audio + playable-content 需 Apple 审批后真机可用
  4. PiP 资源black.mp4Flutter 仓库若缺失需自行放入 iosApp/iosApp/pip/
  5. Swift ↔ Kotlin 播放回调Widget/CarPlay 的 NotificationCenter 事件需在 Mac 上接到 AppContainer.player

已实现业务(相对骨架)

  1. OSS 元数据入库、曲库 6 Tab、播放队列、滚动歌词、Love/歌单/History
  2. WiFi 传歌 / 数据同步、驾驶模式、SD/USB、设置、每日推送
  3. 桌面歌词 / Widget / 扫码 / WebView / 分享 / 深链 / 友盟桥
  4. FeatureModuleIndex 模块清单(日志页)

对照

主题 Flutter 本仓库
Nexus android/nexus_repos.gradle settings.gradle.kts
常量 lib/global/const.dart Const.kt
入库 global_db.dart DataImportService
协议 Docs 03 protocol/* + transfer/*
歌词 global_lyric.dart lyric/* + native/LyricService
Widget SP HomeWidgetPreferences 同名键
CarPlay lib/pages/carplay/* CarPlayCatalog + Swift Scene
UI GetX composeApp CMP

文档:E:\LoveLiveMusicPlayer-Docs\

Description
No description provided
Readme 12 MiB
Languages
Kotlin 93%
Swift 6.1%
HTML 0.8%
CSS 0.1%