Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Penyimpanan yang Dapat Diadopsi

Android selalu mendukung aksesori penyimpanan eksternal (seperti kartu SD), tetapi aksesori ini secara historis terbatas pada penyimpanan file sederhana, karena ketidakkekalan yang diharapkan dan perlindungan data minimal yang ditawarkan ke penyimpanan eksternal tradisional . Android 6.0 memperkenalkan kemampuan untuk mengadopsi media penyimpanan eksternal agar berfungsi seperti penyimpanan internal.

Saat media penyimpanan eksternal diadopsi, itu diformat dan dienkripsi untuk hanya bekerja dengan satu perangkat Android pada satu waktu. Karena media sangat terikat dengan perangkat Android yang mengadopsinya, media dapat dengan aman menyimpan aplikasi dan data pribadi untuk semua pengguna.

Saat pengguna memasukkan media penyimpanan baru (seperti kartu SD) di lokasi yang dapat diadopsi, Android menanyakan cara mereka ingin menggunakan media tersebut. Mereka dapat memilih untuk mengadopsi media, yang memformat dan mengenkripsinya, atau mereka dapat terus menggunakannya sebagaimana adanya untuk penyimpanan file sederhana. Jika mereka memilih untuk mengadopsi, platform menawarkan untuk memigrasi konten penyimpanan bersama utama (biasanya dipasang di /sdcard ) ke media yang baru diadopsi, membebaskan ruang berharga pada penyimpanan internal. Tidak seperti penyimpanan tradisional, yang dibatasi hingga 2TB karena penggunaan MBR , penyimpanan yang dapat diadopsi menggunakan GPT dan oleh karena itu memiliki batas penyimpanan file ~ 9ZB.

Aplikasi dapat ditempatkan di media penyimpanan yang diadopsi hanya jika pengembang telah menunjukkan dukungan melalui atribut android:installLocation . Pemasangan baru dari aplikasi yang didukung secara otomatis ditempatkan di perangkat penyimpanan dengan ruang kosong paling banyak, dan pengguna dapat memindahkan aplikasi yang didukung di antara perangkat penyimpanan di aplikasi Pengaturan . Aplikasi yang dipindahkan ke media yang diadopsi dikenang saat media dikeluarkan, dan ditampilkan saat media dimasukkan kembali.

Keamanan

Platform secara acak menghasilkan kunci enkripsi untuk setiap perangkat yang diadopsi dan menyimpannya di penyimpanan internal perangkat Android. Ini secara efektif membuat media yang diadopsi seaman penyimpanan internal. Kunci dikaitkan dengan perangkat yang diadopsi berdasarkan GUID partisi yang diadopsi.

Jika perangkat dikonfigurasi untuk menggunakan enkripsi berbasis file (FBE) pada penyimpanan internalnya, maka penyimpanan yang dapat diadopsi menggunakan enkripsi FBE dan metadata . Jika tidak, penyimpanan yang dapat diadopsi menggunakan enkripsi disk penuh (FDE).

Tata letak on-disk dari perangkat yang diadopsi sangat mencerminkan partisi data internal, termasuk label SELinux, dll. Ketika multi-pengguna didukung pada perangkat Android, perangkat penyimpanan yang diadopsi juga mendukung multi-pengguna dengan tingkat isolasi yang sama dengan internal. penyimpanan.

Karena konten perangkat penyimpanan yang diadopsi sangat terikat dengan perangkat Android yang mengadopsinya, kunci enkripsi tidak boleh diekstrak dari perangkat induk, dan oleh karena itu perangkat penyimpanan tidak dapat dipasang di tempat lain.

Jika perangkat Anda menggunakan FBE, lihat dokumentasi FBE dan dokumentasi enkripsi metadata tentang cara mengkonfigurasi FBE dan enkripsi metadata pada penyimpanan yang dapat diadopsi.

Performa dan stabilitas

Hanya media penyimpanan eksternal di lokasi yang stabil, seperti slot di dalam kompartemen baterai atau di belakang penutup pelindung, yang harus dipertimbangkan untuk digunakan guna membantu menghindari kehilangan atau kerusakan data yang tidak disengaja. Secara khusus, perangkat USB yang terhubung ke ponsel atau tablet tidak boleh dipertimbangkan untuk diadopsi. Satu pengecualian umum adalah drive USB eksternal yang disambungkan ke perangkat jenis TV, karena seluruh TV biasanya dipasang di lokasi yang stabil.

Saat pengguna mengadopsi perangkat penyimpanan baru, platform menjalankan tolok ukur dan membandingkan kinerjanya dengan penyimpanan internal. Jika perangkat yang diadopsi jauh lebih lambat daripada penyimpanan internal, platform akan memperingatkan pengguna tentang kemungkinan pengalaman yang menurun. Tolok ukur ini berasal dari perilaku I / O sebenarnya dari aplikasi Android populer. Saat ini, penerapan AOSP hanya akan memperingatkan pengguna di luar satu ambang batas, tetapi produsen perangkat dapat menyesuaikannya lebih jauh, seperti menolak adopsi sepenuhnya jika kartu sangat lambat.

Perangkat yang diadopsi harus diformat dengan sistem file yang mendukung izin POSIX dan atribut yang diperluas, seperti ext4 atau f2fs . Untuk kinerja optimal, sistem file f2fs direkomendasikan untuk perangkat penyimpanan berbasis flash.

Saat melakukan pemeliharaan idle berkala, platform mengeluarkan FI_TRIM ke media yang diadopsi seperti yang dilakukannya untuk penyimpanan internal. Spesifikasi kartu SD saat ini tidak mendukung perintah DISCARD ; tetapi kernel malah kembali ke perintah ERASE , yang mungkin dipilih oleh firmware kartu SD untuk digunakan untuk tujuan pengoptimalan.

Menguji

Untuk menguji apakah penyimpanan yang dapat diadopsi berfungsi, jalankan tes CTS ini:

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

Untuk memverifikasi perilaku drive USB dan kartu SD saat perangkat tidak memiliki slot internal atau saat konektor USB digunakan untuk koneksi adb aktif, gunakan:

adb shell sm set-virtual-disk true