Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

SDCardFSの廃止

SDCardFSのサポートは、Android11のカーネルバージョン5.4以降では非推奨です。 VTSテストでは、これらのカーネルバージョンのSDCardFSとしてリストされているマウントされたファイルシステムは許可されません。以前のカーネルバージョンは引き続きAndroid11用のSDCardFSを使用できますが、Googleは追加のサポートを提供していません。

以前のバージョンのAndroidでは、SDCardFSは、エミュレートされた内部ストレージと外部SDカードへのアクセスを制御する方法を提供し、アプリがそれらに関連するデータのみにアクセスできるようにしました。さらに、大文字と小文字を区別しないレイヤーと、追加のストレージ追跡を提供しました。

SDCardFSの交換機能

Android 11では、大文字と小文字の区別はファイルシステムによって直接処理されます。これにより、大文字と小文字を区別するフォルダーと大文字と小文字を区別しないフォルダーのルックアップ時間がほぼ同じになり、SDCardFSから大きなフォルダーの速度低下がなくなります。 SDCardFSが設定用のストレージデータをすばやく収集するために行っていたクォータトラッキングが、プロジェクトクォータを使用してユーザースペースから構成されるようになりました。一部のパフォーマンスに敏感なコンテキストでは、ディレクトリはその場でバインドマウントされます。新しいFUSE実装は、主に位置情報の編集をサポートするために、ファイルシステムに直接アクセスするためのスコープ付きストレージを提供します。

SDカード交換機能の設定

エミュレートSDCardFSずに保存、継承のためのプロジェクトのクォータとケースの折りたたみを有効にするにはemulated_storage.mkdevice.mkファイル:

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

ケースフォールディングをサポートする暗号化では、ポリシーv2を使用する必要があります。これを有効にするには、fstabのvoldフラグ内で:v2指定します。例えば:

fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized

SDCardFSを廃止する理由

SDCardFSを廃止する理由はさまざまです。

安定

SDCardFSは、大文字と小文字の区別に関するいくつかの競合状態と、メモリ不足の状況に関するいくつかの問題に悩まされています。大文字と小文字を区別しないルックアップは、別のケースを見つけるために下位ディレクトリをたどる必要があるため、大きなディレクトリではかなり遅くなる可能性があります。上位ファイルシステムと下位ファイルシステムに同時にアクセスすると、問題が発生する可能性もあります。

アップストリームパリティ

SDCardFSでは、バインドマウントのオプションの変更をサポートするために、VFSに追加のパッチが必要です。これらのパッチにより、これらの領域へのアップストリームの変更を受け入れる追加の作業が発生します。 SDCardFSの機能は、アップストリームコンポーネントによって複製できるため、この問題点が解消されます。

APIと同等の機能

Androidの以前のリリースでは、スコープ付きストレージは特定のタイプのメタデータへのアクセスを制限していました。 SDCardFSを介した直接ストレージアクセスは、これらのスコープストレージ機能をサポートしていません。