Descontinuação do SDCardFS

O SDCardFS foi descontinuado em dispositivos com o Android 11 ou mais recente e que executam a versão 5.4 do kernel ou mais recente. Em tais dispositivos, VTS testes não permite sistemas de arquivos montados listados como SDCardFS. Dispositivos que são lançados com Android 11 ou mais recente, mas com a versão do kernel 4.19 ou mais baixos podem continuar usando o SDCardFS, mas o Google não fornece suporte.

Antes da descontinuação, o SDCardFS oferecia uma maneira de controlar o acesso a armazenamento interno emulado e cartões SD externos, permitindo que os apps acessassem apenas os dados relevantes. Além disso, ele ofereceu uma camada de insensibilidade a maiúsculas e minúsculas, além de um rastreamento de armazenamento adicional.

Funcionalidade de substituição do SDCardFS

A substituição do SDCardFS usa vários recursos do sistema de arquivos do kernel do Linux para conseguir resultados semelhantes. A indiferença a maiúsculas é processada diretamente pelo sistema de arquivos. Isso resulta em tempos de pesquisa quase idênticos em pastas que diferenciam maiúsculas de minúsculas, removendo a lentidão de pastas grandes do SDCardFS. O rastreamento de cota que o SDCardFS estava fazendo para coletar rapidamente dados de armazenamento para configurações agora é configurado no espaço do usuário usando cotas de projeto. Em alguns contextos sensíveis ao desempenho, os diretórios são montados no local. Uma nova implementação do FUSE oferece armazenamento com escopo para acesso direto ao sistema de arquivos, principalmente para oferecer suporte à edição de informações de local.

Configurar a funcionalidade de substituição do cartão SD

Para ativar as cotas de projeto e o agrupamento de casos para armazenamento emulado sem SDCardFS em um dispositivo lançado com o Android 11 ou mais recente, herde de emulated_storage.mk no arquivo device.mk:

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

Aviso : não faça isso em dispositivos lançados com o Android 10 ou anterior, a insensibilidade a maiúsculas/minúsculas nativa do sistema de arquivos é incompatível com a política de criptografia de dados usados nesses dispositivos. É necessário continuar usando o SDCardFS nesses dispositivos.

Motivos para descontinuar o SDCardFS

Há vários motivos para descontinuar o SDCardFS.

Estabilidade

O SDCardFS sofre de várias condições de disputa relacionadas à diferenciação entre maiúsculas e minúsculas, bem como alguns problemas relacionados a circunstâncias de pouca memória. Não diferencia maiúsculas de minúsculas as pesquisas podem ser bastante lentas em diretórios grandes porque elas precisam acompanhar inferior para encontrar casos alternativos. O acesso aos sistemas de arquivos superiores e inferiores ao mesmo tempo também pode causar problemas.

Paridade upstream

O SDCardFS exige patches adicionais para o VFS para dar suporte à alteração das opções em vincular montagens. Esses patches causam mais trabalho para aceitar mudanças upstream nessas áreas. Os recursos do SDCardFS podem ser replicados por componentes upstream, removendo esse problema.

Paridade de recursos com a API

Na versão anterior do Android, o armazenamento com escopo limitava o acesso a tipos específicos de metadados. O acesso ao armazenamento direto pelo SDCardFS não é compatível com estas opções recursos de armazenamento com escopo.