Jetispot

Jetispot
软件描述
可能适用于 Android 的非官方 Spotify 客户端,基于 Jetpack Compose 和 librespot-java 构建
官方网站
访问软件的官方网站了解更多信息
github.com
什么是 Jetispot?
可能可用的 Android 非官方 Spotify 客户端,基于 Jetpack Compose 和 librespot-java 开发
必须拥有 Spotify Premium 账户*。离线缓存、绕过 DRM 或直接下载文件均违反服务条款,Jetispot 再也不会实现这些功能。请不要浪费时间请求此类功能。
目前已实现的功能:
登录(仅支持用户名/密码,不支持 Facebook/Meta 等第三方登录,也不支持智能锁)
“浏览”、“首页”、专辑、Premium 计划、艺人和流派页面(部分模块可能不支持)
音乐库:支持“喜欢的歌曲”(可加标签与排序)、根列表(喜欢的播放列表)+ 固定项 + 艺人/专辑支持(带有流畅动画)、增量更新 + 公共/订阅消息处理
基础播放功能,支持 Spotify Connect(Connect 功能目前仍处于早期开发阶段)
经过优化的 R8 规则,发布版 APK 大小约为 5-6 MB(包含播放和 Protobuf 模块)
正在进行的功能:
“正在播放”功能的优化
服务层面的改进(通知功能优化)
应用架构:
播放功能:以 librespot-java 为核心,结合 librespot-android 提供的 sink/解码器模块,以及 Media2 实现媒体会话支持
UI:Jetpack Compose
依赖注入(DI):Hilt / Dagger
网络通信:Retrofit 配合 Moshi + Protobuf 解析器
图片加载:Coil
存储:Room(用于收藏列表),MMKV(用于元数据缓存)
架构:MVVM
偏好设置:Jetpack Datastore(Protobuf 支持)
致谢:
librespot-java 提供了核心 API 和播放功能
librespot-android 提供了 sink 和解码器源码(在 Jetispot 中已重写为 Kotlin)
moshi 和 moshix 用于解析未公开的 API JSON 数据
VK Icons 提供了应用图标中使用的精美图标集
MMKV 提供了超快的实体扩展元数据缓存方式
Google 提供了 Android、Jetpack 和 Hilt 的支持
我听说有些人可以使用免费账户登录,但我不会为没有 Premium 订阅的用户提供任何帮助。未来有可能在客户端增加订阅验证功能。