锤子手机凉了这么多年,有人把锤子音乐完整复刻到了现代安卓上

锤子手机凉了这么多年,我偶尔还是会想起那个音乐播放器。不是因为它功能多强,而是搓碟时唱片跟着手指惯性转动的那个手感,别家真没有。前几天刷GitHub看到有人把锤子音乐用现代Android技术栈完整复刻了出来,连唱针拖拽的阻尼感都还原了,说实话有点愣住。

锤子音乐复刻版主界面

项目叫SmartisanMusic-Revived,最低使朋Android 12(API 31),目标API 36。我装到自己Pixel上跑了一下,聊聊实际体验。

那张黑胶唱盘是真的在”转”

主界面、播放页、底部播放条、搜索弹窗、队列展开动画,全部以Smartisan Music 8.1.0为基准逆向重建的。但最抓人的还是那个黑胶唱盘——不是一张静态贴图,而是带着纹理光影的旋转体。唱针有真实的抬起落下动画,拖拽切歌时能感到一种微妙的”滞涩”然后”释放”的感觉。

搓碟功能接入了新的播放链路。手指在屏幕上划动,唱片跟着惯性转动、减速、回弹,这些在当年移植版里受系统限制没法完整保留的交互,这次被重新实现了。我拿原版APK对比了一下,阻尼曲线确实很接近,不仔细分辨基本看不出区别。

播放能力是现代化的

锤子音乐复刻版播放界面

本地音乐扫描、后台播放、收藏管理、播放列表、播放统计、外部音频打开,底层全部基于Media3 1.10.0重建。队列支持拖拽排序,歌词同步显示,封面自动匹配。数据层用Room 2.8.4做持久化,DataStore管偏好设置。

实际用起来,扫描速度还行,500多首歌大概三四秒就出来了。后台播放稳定性我测了一周,没遇到过被系统杀掉的情况。不过有个小问题:如果歌曲文件名里带特殊字符,封面匹配偶尔会失败,需要手动指定。

工程结构上花了心思

ui/shell里放着8.1.0的legacy View主壳、页面转场和弹窗,ui/playback管唱盘搓碟和控制区,ui/widgets是为复刻补的各种旧View shim。播放链路、媒体扫描、后台服务这些”里子”用Kotlin 2.3.21和现代架构重写了,”面子”上能保留原版XML、drawable、selector、anim的地方尽量不动。Compose没有完全抛弃,而是作为桥接层存在,让新旧体系能对话。

说白了就是:该新的地方新,该旧的地方旧。这种策略在复刻项目里其实不常见,大部分要么全部推倒用Compose重写,要么死守旧架构不动。这个项目的折中处理我觉得比较合理,维护起来也方便些。

一些不足

视觉基准来自People-11的移植工作。Smartisan OS的系统应用不是普通APK,音乐依赖系统媒体库、私有资源和旧控件,People-11手动补了大量缺口才让移植版能在非Smartisan设备上运行。作者在此基础上继续逆向解包重建,工程量不小。

目前不支持在线音乐和歌词搜索,只能播本地文件。EQ均衡器也还没有,对音质有调节需求的人来说是个遗憾。另外界面只做了中文,没有多语言切换。但如果你跟我一样,只是怀念那个搓碟的手感,这些短板倒也不是不能接受。毕竟锤子手机都不在了,还能在新安卓上滑一下那张唱片,本身就有点浪漫。

下载链接:https://pan.quark.cn/s/e2380fdaf5a4

GitHub 项目地址:https://github.com/DE105/SmartisanMusic-Revived

分享github精选项目,AI最新的消息资讯和使用教程技巧
52软件资源库 » 锤子手机凉了这么多年,有人把锤子音乐完整复刻到了现代安卓上