عميل بديل لبث وتنزيل موسيقى Deezer، يعتمد على Freezer. تم تحديث/إعادة كتابة قاعدة التعليمات البرمجية بالكامل لتتوافق مع أحدث إصدار من Flutter وdart SDK وandroid (هدف البناء الحالي هو مستوى واجهة برمجة التطبيقات (API) 34).
استعادة جميع مميزات تطبيق فريزر القديم وأبرزها:
استعادة جميع خيارات تسجيل الدخول
تمت استعادة خيارات البث والتنزيل بأعلى جودة (يتطلب حسابًا مميزًا، والحسابات المجانية تقتصر على ملفات MP3 بسرعة 128 كيلوبت في الثانية)
دعم التنزيل على وحدة التخزين الخارجية (sdcard) لنظام Android 11 والإصدارات الأحدث
تمت استعادة الشاشة الرئيسية وإضافة خيارات قائمة التشغيل الذكية Flow & Mood الجديدة
تسجيل الخروج الثابت (لا حاجة لإعادة التشغيل بعد الآن)
شاشة قائمة الانتظار المحسنة/الثابتة والتعامل مع قائمة الانتظار (التبديل وإعادة الترتيب)
شاشة كلمات محدثة لدعم كلمات الأغاني غير المتزامنة أيضًا
بعض التغييرات الطفيفة في واجهة المستخدم لاستيعاب العرض الأفقي/الكمبيوتر اللوحي بشكل أفضل
تم تحديث قاعدة التعليمات البرمجية بالكامل لدعم أحدث إصدارات Flutter & Dart SDK بشكل كامل
تم التحديث إلى الإصدار 8.5.1
تمت إزالة مكتبات C المضمنة (openssl وopencrypto) واستبدالها بتطبيق Java أصلي مخصص
تم استبدال مكتبة decryptor-jni c المضمنة بتطبيق Java أصلي مخصص
تم تنفيذ السلامة الخالية
تمت إزالة الحاجة إلى إصدارات المكونات الإضافية just_audio & audio_service المخصصة وإعادة صياغة كود المصدر لاستخدام أحدث إصدار من المكونات الإضافية الرسمية
إصلاحات أخرى متعددة
قم بتثبيت أحدث إصدار من Flutter SDK: https://flutter.dev/docs/get-started/install
(اختياري) قم بإنشاء مفاتيح لبناء الإصدار: https://flutter.dev/docs/deployment/android
مصدر التحميل:
استنساخ بوابة https://github.com/DJDoubleD/ReFreezer git الوحدة الفرعية init تحديث الوحدة الفرعية git
قم بإنشاء ملف .env
في المجلد lib
الخاص بالمشروع وأضف المحتوى التالي:
# 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 --حذف المخرجات المتعارضة
تجميع:
Flutter build 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 (بجوار ملفkeys.jks من الخطوة 1)، قم بإنشاء ملف key.properties
بالمحتويات التالية:
storePassword=
keyPassword=
keyAlias=
storeFile=../keys.jks
لم يتم تطوير ReFreezer لأغراض القرصنة، بل للاستخدام التعليمي والخاص. قد يكون من غير القانوني استخدام هذا في بلدك! لن أكون مسؤولاً عن كيفية استخدامك لـ ReFreezer .
يستخدم ReFreezer كلاً من واجهات برمجة التطبيقات العامة والداخلية الخاصة بـ Deezer، ولكنه غير معتمد أو معتمد أو معتمد بأي شكل من الأشكال من قبل Deezer.
تعد العلامة التجارية Deezer واسمها علامة تجارية مسجلة لمالكها المعني.
ليس لدى ReFreezer أي شراكة أو رعاية أو تأييد مع Deezer.