另一种 Deezer 音乐流媒体和下载客户端,基于 Freezer。整个代码库已更新/重写,以兼容最新版本的 flutter、dart SDK 和 android(当前构建目标是 API 级别 34)。
恢复了旧版 Freezer 应用程序的所有功能,最值得注意的是:
恢复所有登录选项
恢复最高质量的流媒体和下载选项(需要高级帐户,免费帐户仅限 MP3 128kbps)
Android 11及以上版本支持下载到外部存储(SD卡)
恢复主屏幕并添加新的 Flow & Mood 智能播放列表选项
修复注销(不再需要重新启动)
改进/固定队列屏幕和队列处理(随机播放和重新排列)
更新了歌词屏幕以支持未同步的歌词
一些小的 UI 更改以更好地适应水平/平板电脑视图
更新了整个代码库以完全支持最新的 flutter 和 dart SDK 版本
更新至gradle版本8.5.1
删除了包含的 C 库(openssl 和 opencrypto)并将其替换为自定义本机 java 实现
用自定义本机 java 实现替换了包含的解密器-jni c 库
实施空安全
不再需要自定义 just_audio 和 audio_service 插件版本并重构源代码以使用最新版本的官方插件
多个其他修复
安装最新的flutter SDK:https://flutter.dev/docs/get-started/install
(可选)生成发布版本的密钥:https://flutter.dev/docs/deployment/android
下载来源:
git 克隆 https://github.com/DJDoubleD/ReFreezer git 子模块初始化 git 子模块更新
在项目的lib
文件夹下创建.env
文件,添加以下内容:
# Deezer API credentials
deezerClientId = '';
deezerClientSecret = '';
# LastFM API credentials
lastFmApiKey = ''
lastFmApiSecret = 'Your_LastFM_API_Secret'
构建生成的文件:
使用以下脚本在子模块和主项目中(重新)构建生成的类:
.run_build_runner.ps1
或在相关子模块中手动运行这些命令以(重新)构建生成的文件:
扑扑酒吧得到 dart run build_runner cleandart run build_runner build --delete-conflicting-outputs
编译:
flutter 构建 apk --split-per-abi --release
注意:您必须使用自己的密钥,或使用flutter build apk --debug
构建调试
确保您的 Java JDK 文件夹位于 PATH 变量中,并在项目的 ./android 文件夹中执行以下命令:
keytool -genkey -v -keystore ./keys.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <您的密钥别名>
按照命令行中显示的说明填写密钥库的所需字段。
在 ./android 内(步骤 1 中的 keys.jks 文件旁边),创建一个包含以下内容的文件key.properties
:
storePassword=
keyPassword=
keyAlias=
storeFile=../keys.jks
ReFreezer不是为了盗版而开发的,而是为了教育和私人用途而开发的。在您的国家/地区使用此功能可能是非法的!我不会对您如何使用ReFreezer负责。
ReFreezer使用 Deezer 的公共和内部 API,但未得到 Deezer 以任何方式认可、认证或批准。
Deezer 品牌和名称是其各自所有者的注册商标。
ReFreezer与 Deezer 没有合作伙伴关系、赞助或认可。