إيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا

تم إيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا على الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث والإصدار 5.4 من نظام التشغيل أو الإصدارات الأحدث. على هذه الأجهزة، لا يسمح اختبار VTS باستخدام أنظمة الملفات المثبَّتة والمُدرَجة على أنّها SDCardFS. يمكن للأجهزة التي تعمل بالإصدار Android 11 أو إصدار أحدث ولكن تعمل بالإصدار 4.19 من الإصدار القديم من نظام التشغيل مواصلة استخدام SDCardFS، ولكن لا تقدّم Google دعمًا إضافيًا.

قبل إيقافه نهائيًا، كان تنسيق SDCardFS يقدّم طريقة للتحكّم في الوصول إلى وحدة التخزين الداخلية المُحاكاة وبطاقات SD الخارجية، ما يسمح للتطبيقات بالوصول إلى البيانات المعنية بها فقط. بالإضافة إلى ذلك، وفّرت هذه الطريقة طبقة من عدم الالتفات إلى حالة الأحرف، بالإضافة إلى بعض عمليات تتبُّع مساحة التخزين الإضافية.

وظيفة استبدال SDCardFS

يستخدم البديل لـ SDCardFS العديد من ميزات نظام الملفات في نواة Linux لمحاولة تحقيق نتائج مماثلة. يعالج نظام الملفات مباشرةً عدم مراعاة حالة الأحرف، ما يؤدي إلى أوقات بحث متطابقة تقريبًا في المجلدات التي تراعي حالة الأحرف والمجلدات التي لا تراعيها، ما يزيل الأداء البطيء للمجلدات الكبيرة من SDCardFS. تم الآن ضبط عملية تتبُّع الحصص التي كان يؤديها SDCardFS لجمع بيانات التخزين المتعلقة بالإعدادات بسرعة من مساحة المستخدم باستخدام حصص المشاريع. في بعض السياقات الحسّاسة للأداء، يتم ربط الأدلة في مكانها. يقدّم الإصدار الجديد من مكتبة FUSE مساحة تخزين محدودة للوصول المباشر إلى نظام الملفات، ويهدف ذلك بشكل أساسي إلى إتاحة إخفاء معلومات الموقع الجغرافي.

ضبط وظيفة استبدال بطاقة SD

لتفعيل حصص المشاريع وضبط حالة التخزين المحاكي بدون SDCardFS على جهاز تم تشغيله باستخدام Android 11 أو إصدار أحدث، يمكنك اكتساب القيمة من emulated_storage.mk في ملف device.mk:

$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)

تحذير: لا تفعل ذلك على الأجهزة التي تم تشغيلها باستخدام الإصدار 10 من نظام التشغيل Android أو إصدار أقدم، لأنّ عدم مراعاة حالة الأحرف في نظام الملفات الأصلي لا يتوافق مع إعدادات التشفير المستندة إلى الملفات المستخدَمة على هذه الأجهزة. من الضروري مواصلة استخدام SDCardFS على هذه الأجهزة.

أسباب إيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا

هناك أسباب مختلفة لإيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا.

الثبات

يواجه ملف SDCardFS العديد من حالات السباق المتعلقة بالحساسية لحالة الأحرف، بالإضافة إلى بعض المشاكل المتعلقة بظروف انخفاض الذاكرة. يمكن أن تكون عمليات البحث التي لا تراعي حالة الأحرف بطيئة إلى حدٍ ما في الأدلة الكبيرة لأنّ عمليات البحث يجب أن تنتقل إلى الدليل الأدنى للعثور على حالات بديلة. يمكن أن يؤدي الوصول إلى ملفَي النظام العلوي والنظام السفلي في الوقت نفسه إلى حدوث مشاكل أيضًا.

تطابق المحتوى في المصدر

تتطلّب أداة SDCardFS تصحيحات إضافية في نظام الملفات الافتراضي (VFS) لتفعيل خيارات تغيير عمليات ربط الحِزم. تؤدي هذه الإصلاحات إلى زيادة العمل المبذول لقبول التغييرات في الإصدارات السابقة في هذه المناطق. يمكن تكرار ميزات SDCardFS من خلال المكوّنات في المصدر، ما يزيل هذه المشكلة.

توفُّر الميزات نفسها في واجهة برمجة التطبيقات

في الإصدار السابق من Android، كانت ميزة "مساحة التخزين ذات النطاق المحدّد" تحدّ من الوصول إلى أنواع معيّنة من البيانات الوصفية. لا يتيح الوصول المباشر إلى مساحة التخزين من خلال SDCardFS استخدام ميزات مساحة التخزين التي تتعلّق بالنطاق.