הוצאה משימוש של SDCardFS

התכונה 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 יש כמה בעיות שקשורות לתלות באותיות רישיות (Case sensitivity), וגם כמה בעיות שקשורות למצבים של זיכרון נמוך. חיפושים לא תלויי-רישיות יכולים להיות איטיים למדי בספריות גדולות, כי החיפושים צריכים לעבור על הספריות הנמוכות כדי למצוא מקרים חלופיים. גם גישה למערכות הקבצים העליונה והתחתונה בו-זמנית עלולה לגרום לבעיות.

התאמה ל-Upstream

כדי לתמוך בשינוי אפשרויות בהרכבות מסוג bind, צריך להוסיף ל-VFS תיקונים נוספים ל-SDCardFS. התיקונים האלה גורמים לעבודה נוספת כדי לקבל שינויים במעלה הזרם באזורים האלה. אפשר לשכפל את התכונות של SDCardFS באמצעות רכיבים במעלה הזרם, וכך לפתור את הבעיה הזו.

שוויון תכונות עם API

בגרסה הקודמת של Android, האחסון המוגבל היקף הגביל את הגישה לסוגים מסוימים של מטא-נתונים. גישה ישירה לאחסון דרך SDCardFS לא תומכת בתכונות האלה של אחסון בהיקף.