Android 11: o que é 'Scoped Storage' e por que se tornou obrigatório

2 min de leitura
Imagem de: Android 11: o que é 'Scoped Storage' e por que se tornou obrigatório
Imagem: https://android-developers.googleblog.com/2019/04/android-q-scoped-storage-best-practices.html
Essa não é uma matéria patrocinada. Contudo, o TecMundo pode receber uma comissão das lojas, caso você faça uma compra.
Avatar do autor

A Google voltou atrás e resolveu tornar o Scoped Storage ou “armazenamento com escopo” um recurso obrigatório no Android 10 e versões posteriores. Sendo assim, todos os novos apps lançados para esses sistemas deverão obedecer à essa regra já a partir do dia 1º de agosto deste ano. Os apps existentes passarão a obedecer ao padrão por meio das atualizações, a partir do dia 1º de novembro.

O que é o armazenamento com escopo?

Houve uma época do Android em que os apps acessavam arquivos e pastas da mesma forma como é feito nos sistemas para desktop. Ao instalar um app, o usuário dava as permissões de acesso para as áreas externas ao sistema operacional, que é a área do armazenamento onde são salvos todos os arquivos pessoais, como fotos, músicas, vídeos e outros documentos. Nessa época, qualquer app acessava qualquer arquivo ou pasta criados por outros apps.

Fonte: Signal/ReproduçãoFonte: Signal/ReproduçãoFonte:  Signal 

A partir do Android 4.4 KitKat, a Google começou a fazer restrições nesse tipo de acesso. Isso levou a companhia a implementar o Storage Access Framework ((SAF) estrutura de acesso ao armazenamento) no Android 5.1 Lollipop, que mudou a forma como os apps acessavam arquivos em pastas de terceiros.

Apesar de lento e não muito querido entre os desenvolvedores, o SAF serviu bem ao propósito para que foi criado. De qualquer forma, permaneceu opcional até os dias de hoje.

No armazenamento com escopo (ou por escopo), a Google tornou as regras de acesso mais restritivas e seguras, porém, mais simples. Agora, além da pasta restrita, que contém arquivos para o funcionamento do aplicativo (pasta de instalação), cada app possui sua pasta voltada para os arquivos que são gerados pelo usuário. Como exemplo, podemos citar um app para gravar áudio: ele precisará criar uma pasta onde os arquivos serão salvos.

Quando os apps forem executados pela primeira vez, o usuário não precisará dar acesso de leitura e gravação para as pastas de arquivos que foram criadas por eles. No entanto, cada app só terá acesso à sua própria pasta, não interferindo nas pastas de outros aplicativos, o que aumenta significativamente a segurança geral do dispositivo.

Fonte: Wikimedia/ReproduçãoFonte: Wikimedia/ReproduçãoFonte:  Wikimedia 

E se o app precisar acessar outras pastas?

Usando o armazenamento com escopo, se o app precisar acessar outras pastas de arquivos que não foram criadas por eles, eles terão que recorrer às APIs do SAF, como já é feito desde o Lollipop. A diferença é que, agora, o SAF será obrigatório e não mais opcional. É o caso de players de música, por exemplo, que podem solicitar acesso para ler e escrever na pasta padrão de músicas do Android.

Essa abordagem assegura a segurança do sistema, sem que apps semelhantes precisem criar pastas separadas, o que duplicaria arquivos, impactando no desempenho dos smartphones. Essas regras também certificam que apps criados para uma determinada finalidade não acessem pastas indevidas: um editor de vídeos não pode acessar uma pasta padrão do Android destinada a músicas, e vice-versa.

Recurso será padrão no Android 11

O armazenamento com escopo surgiu no Android 10, mas não era obrigatório, já que foi recebido com desânimo pelos desenvolvedores.

Mais recentemente, a Google mudou os contratos da Play Store e o recurso passará a ser imposto no Android 10, assim como já será um padrão no Android 11.

Comentários

Conteúdo disponível somente online
Android 11: o que é 'Scoped Storage' e por que se tornou obrigatório