התכונה SDCardFS הוצאה משימוש במכשירים שמושקים עם Android מגרסה 11 ואילך, ופועלת עם ליבה מגרסה 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)
אזהרה: אין לבצע את הפעולה הזו במכשירים שהושקו עם Android מגרסה 10 ומטה, כי מערכת הקבצים המקורית לא רגישה לאותיות רישיות, וזה לא תואם להגדרות ההצפנה מבוססת-הקבצים שמשמשות במכשירים כאלה. במכשירים כאלה צריך להמשיך להשתמש ב-SDCardFS.
הסיבות להוצאה משימוש של SDCardFS
יש כמה סיבות להוצאה משימוש של SDCardFS.
יציבות
ל-SDCardFS יש כמה בעיות של תנאי מירוץ שקשורות לתלות באותיות רישיות, וגם כמה בעיות שקשורות למצבים של זיכרון נמוך. חיפושים לא תלויי-רישיות יכולים להיות איטיים למדי בספריות גדולות, כי החיפושים צריכים לעבור על הספריות הנמוכות כדי למצוא מקרים חלופיים. גם גישה למערכות הקבצים העליונה והתחתונה בו-זמנית עלולה לגרום לבעיות.
התאמה ב-Upstream
כדי לתמוך בשינוי אפשרויות בהרכבות מסוג bind, צריך להוסיף ל-VFS תיקונים נוספים ל-SDCardFS. התיקונים האלה גורמים לעבודה נוספת כדי לקבל שינויים במעלה הזרם באזורים האלה. אפשר לשכפל את התכונות של SDCardFS באמצעות רכיבים במעלה הזרם, וכך לפתור את הבעיה הזו.
תאימות מלאה עם API
בגרסה הקודמת של Android, נפח אחסון ייעודי לאפליקציות הגביל את הגישה לסוגים מסוימים של מטא-נתונים. גישה ישירה לאחסון דרך SDCardFS לא תומכת בתכונות האלה של נפח אחסון ייעודי לאפליקציות.