डिवाइस का स्टोरेज

Android, बाहरी स्टोरेज वाली ऐक्सेसरी (जैसे कि एसडी कार्ड) के साथ हमेशा काम करता है, लेकिन पहले ये ऐक्सेसरी सिर्फ़ फ़ाइल स्टोरेज तक सीमित थीं. ऐसा इसलिए, क्योंकि और कम से कम डेटा सुरक्षा की वजह से ट्रेडिशनल एक्सटर्नल स्टोरेज. Android 6.0 ने आंतरिक मेमोरी की तरह काम करने के लिए बाहरी मेमोरी मीडिया को अपनाएं स्टोरेज.

जब बाहरी स्टोरेज मीडिया को अपनाया जाता है, तब उसे सिर्फ़ फ़ॉर्मैट और एन्क्रिप्ट (सुरक्षित) किया जाता है एक समय में सिर्फ़ एक Android डिवाइस पर काम करते हों. मीडिया के जुड़े होने का को अपनाता है, तो यह सुरक्षित रूप से दोनों तरह के ऐप् लिकेशन और सभी उपयोगकर्ताओं के लिए निजी डेटा का इस्तेमाल किया जाता है.

जब उपयोगकर्ता, डिवाइस के स्टोरेज में नया स्टोरेज मीडिया (जैसे, एसडी कार्ड) लगाते हैं स्थान है, तो Android उनसे पूछता है कि वे मीडिया का उपयोग कैसे करना चाहते हैं. वे ये काम कर सकते हैं: मीडिया को अपनाएँ और उसे फ़ॉर्मैट और एन्क्रिप्ट (सुरक्षित) करें या उसका इस्तेमाल जारी रखा जा सके इसका इस्तेमाल, फ़ाइलों को आसानी से सेव करने के लिए किया जाता है. अगर वे इसे अपनाने का विकल्प चुनते हैं, तो यह प्लैटफ़ॉर्म प्राइमरी शेयर किए गए स्टोरेज के कॉन्टेंट को माइग्रेट करें (आम तौर पर, /sdcard) के साथ काम करने का मौका मिलता है. डिवाइस का स्टोरेज. पारंपरिक स्टोरेज में 2 टीबी स्टोरेज मिलता है, क्योंकि का इस्तेमाल एमबीआर, डिवाइस के स्टोरेज का इस्तेमाल GPT इसलिए, फ़ाइल स्टोरेज की सीमा ~9ZB है.

ऐप्लिकेशन को डिवाइस के इस्तेमाल किए जा रहे स्टोरेज मीडिया पर तब ही रखा जा सकता है, जब डेवलपर के पास android:installLocation एट्रिब्यूट के ज़रिए सहायता दी गई है. समर्थित ऐप्लिकेशन के नए इंस्टॉल अपने आप सबसे ज़्यादा खाली जगह वाला स्टोरेज डिवाइस. साथ ही, उपयोगकर्ता इस डिवाइस पर काम करने वाले ऐप्लिकेशन को एक से दूसरी जगह पर ले जा सकते हैं सेटिंग ऐप्लिकेशन में स्टोरेज डिवाइस के बीच में आएँ. ऐप्लिकेशन को अपनाया गया मीडिया को निकाले जाने के दौरान उसे याद रखा जाता है, और मीडिया को फिर से शामिल करने पर यह दिखता है.

सुरक्षा

यह प्लैटफ़ॉर्म, अपनाए गए हर डिवाइस के लिए किसी भी क्रम में एन्क्रिप्ट (सुरक्षित) करने की कुंजियां जनरेट करता है और उन्हें Android डिवाइस के स्टोरेज में सेव करती है. यह असरदार तरीके से अपनाए गए मीडिया को डिवाइस के स्टोरेज जितना सुरक्षित बनाता है. कुंजियां हैं यह, पार्टिशन जीयूआईडी के हिसाब से तय किए गए डिवाइसों से जुड़ा होता है.

अगर डिवाइस को फ़ाइल पर आधारित एन्क्रिप्शन (FBE) का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है, तो डिवाइस के स्टोरेज और उसके बाद डिवाइस के स्टोरेज में, एफ़बीई और मेटाडेटा एन्क्रिप्शन, दोनों का इस्तेमाल किया जाता है. या फिर, डिवाइस के स्टोरेज में फ़ुल-डिस्क का इस्तेमाल होता है एन्क्रिप्ट (सुरक्षित) करने का तरीका (एफ़डीई).

इस्तेमाल किए गए डिवाइस का ऑन-डिस्क लेआउट, इंटरनल डेटा की डुप्लीकेट कॉपी बनाता है विभाजन, जिसमें SELinux लेबल आदि शामिल हैं. जब बहु-उपयोगकर्ता Android डिवाइस के साथ इस्तेमाल किया जा रहा स्टोरेज डिवाइस, कई उपयोगकर्ताओं के लिए आइसोलेशन का लेवल इंटरनल स्टोरेज के जैसा ही होना चाहिए.

क्योंकि स्वीकार किए गए स्टोरेज डिवाइस का कॉन्टेंट, जिस Android डिवाइस पर यह टेक्नोलॉजी इस्तेमाल की गई है उसमें, एन्क्रिप्ट (सुरक्षित) करने वाली कुंजियों का डेटा एक्सट्रैक्ट नहीं किया जा सकता . इसलिए, स्टोरेज डिवाइस को माउंट नहीं किया जा सकता कहीं और.

अगर आपका डिवाइस एफ़बीई का इस्तेमाल करता है, तो एफ़बीई देखें दस्तावेज़ और मेटाडेटा डेटा को एन्क्रिप्ट (सुरक्षित) करने से जुड़ा दस्तावेज़, जिसमें एफ़बीई और मेटाडेटा एन्क्रिप्शन को कॉन्फ़िगर करने का तरीका बताया गया है डिवाइस का स्टोरेज.

परफ़ॉर्मेंस और स्थिरता

केवल स्थिर स्थानों में बाहरी स्टोरेज मीडिया, जैसे बैटरी कंपार्टमेंट या सुरक्षा कवर के पीछे काम करते समय, इन चीज़ों पर ध्यान दिया जाना चाहिए डेटा के नुकसान या खराब होने से बचाने के लिए इस्तेमाल किया जा सकता है. खास तौर पर, यूएसबी फ़ोन या टैबलेट से कनेक्ट किए गए डिवाइसों को कभी भी अनुमति नहीं दी जानी चाहिए. एक सामान्य अपवाद, टीवी-स्टाइल से कनेक्ट की गई बाहरी यूएसबी ड्राइव है क्योंकि पूरा टीवी आम तौर पर किसी स्थिर जगह पर इंस्टॉल किया जाता है.

जब कोई उपयोगकर्ता नया स्टोरेज डिवाइस अपनाता है, तो यह प्लैटफ़ॉर्म एक मानक कीमत तय करता है और इसकी परफ़ॉर्मेंस की तुलना, डिवाइस के स्टोरेज से की जाती है. अगर अपनाया गया डिवाइस डिवाइस के स्टोरेज से काफ़ी धीमा होने पर, प्लैटफ़ॉर्म उपयोगकर्ता को इसके बारे में चेतावनी देता है: में गिरावट आ सकती है. यह मानदंड वास्तविक I/O से लिया गया है लोकप्रिय Android ऐप्लिकेशन का व्यवहार. फ़िलहाल, एओएसपी को लागू करने के बाद ही उपयोगकर्ताओं को चेतावनी देने के लिए, तय की गई सीमा से ज़्यादा बार चेतावनी दी जाती है. हालांकि, डिवाइस मैन्युफ़ैक्चरर इसे आगे, जैसे कि कार्ड के बहुत धीमे चलने पर, Chromebook डिवाइस के इस्तेमाल को पूरी तरह से अस्वीकार कर दिया जाना चाहिए.

इस्तेमाल किए जाने वाले डिवाइसों को ऐसे फ़ाइल सिस्टम के साथ फ़ॉर्मैट किया जाना चाहिए जो POSIX के साथ काम करता हो अनुमतियां और एक्सटेंडेड एट्रिब्यूट, जैसे कि ext4 या f2fs. सबसे अच्छी परफ़ॉर्मेंस के लिए, f2fs फ़ाइलसिस्टम यह है फ़्लैश-आधारित मेमोरी डिवाइसों के लिए सुझाया गया.

समय-समय पर इस्तेमाल में न होने के दौरान, प्लैटफ़ॉर्म से जुड़ी समस्याएं होती हैं FI_TRIM की मदद से मीडिया का इस्तेमाल ठीक वैसे ही करें जैसे यह डिवाइस के स्टोरेज के लिए करता है. एसडी कार्ड की मौजूदा स्पेसिफ़िकेशन DISCARD के साथ काम नहीं करती है निर्देश दें; लेकिन इसके बजाय कर्नेल वापस ERASE आदेश पर चला जाता है, ऑप्टिमाइज़ेशन के लिए, एसडी कार्ड फ़र्मवेयर का इस्तेमाल करने के लिए कौनसा विकल्प चुना जा सकता है.

टेस्ट करना

यह जांचने के लिए कि डिवाइस के इस्तेमाल के हिसाब से स्टोरेज की सुविधा काम कर रही है या नहीं, यह सीटीएस टेस्ट करें:

cts-tradefed run commandAndExit cts-dev \
    -m CtsAppSecurityHostTestCases \
    -t android.appsecurity.cts.AdoptableHostTest

यूएसबी ड्राइव और एसडी कार्ड के काम करने का तरीका जानने के लिए, जब डिवाइस में बिल्ट-इन स्लॉट या जब किसी चालू adb के लिए यूएसबी कनेक्टर का इस्तेमाल किया जा रहा हो कनेक्शन, इसका इस्तेमाल करें:

adb shell sm set-virtual-disk true