O Google está trabalhando em um sistema de arquivos incremental, um novo FS que pode tornar possível começar a jogar grandes jogos Android antes de serem totalmente baixados.
Os jogos para celular são um mercado enorme, com sua receita total representando quase metade do mercado global de jogos em 2019, de acordo com uma empresa de pesquisa de mercado Novo zoológico. A Play Store está repleta de novos jogos para experimentar a cada semana, o que pode ser difícil de acompanhar se você tiver tempo limitado para jogar. O Google está trabalhando em um novo sistema de arquivos para uma versão futura do Android, possivelmente Andróide 12 em 2021, o que poderia tornar muito mais fácil experimentar novos jogos. O sistema de arquivos é chamado de Sistema de Arquivos Incremental e foi projetado para permitir que aplicativos sejam executados enquanto seus arquivos binários e de recursos ainda estão sendo baixados.
No início de maio de 2019, o Google patches enviados para mesclar o suporte para o sistema de arquivos incremental no kernel Linux.
Depois de enviar os patches para o kernel Linux, o Google iniciou discussões com vários mantenedores do kernel Linux sobre a implementação e a finalidade do FS. Alguns criticaram o Google por criar um sistema de arquivos de kernel personalizado em vez de estender o FUSE existente, ou sistema de arquivos no espaço do usuário. O Google afirmou que Sistemas de arquivos baseados em FUSE adicionam sobrecarga significativa de desempenho para seus cenários-alvo, aumentando o uso de energia a ponto de os telefones gastarem energia mais rápido do que carregando por um cabo. Isso foi problemático porque um Googler disse que "o objetivo do projeto era permitir a implantação instantânea (-ish) de aplicativos do ambiente de desenvolvimento para Android [telefones]." Com base neste comentário, presumimos que o Google pretendia que esse recurso apenas ajudasse os desenvolvedores a testar compilações incrementais de seus jogos para celular. No entanto, esse ainda pode ser o caso, vários meses após o último comentário sobre os patches iniciais do kernel Linux, o Google começou a se fundir commits relacionados ao sistema de arquivos incremental para o Android Open Source Project (AOSP). Os commits introduzem grandes mudanças em muitas partes do Android e do kernel Linux do Android, então acreditamos que é é possível que o Google esteja planejando usar o sistema de arquivos incremental para melhorar a experiência geral do usuário. Talvez o Google queira permitir que os usuários comecem a jogar grandes jogos Android sem precisar baixá-los totalmente – servindo essencialmente como um jogo nativo. Aplicativos instantâneos substituição que não requer nenhum trabalho extra dos desenvolvedores, já que a implementação é no kernel.
Atualmente, o Google está testando o recurso em um Pixel 4 XL (coral), e eles também construiu um módulo de kernel para uso com uma imagem genérica do kernel (GKI). Em vários comentários, os Googlers explicam que os dispositivos Android com esse recurso terão um novo diretório /data/incremental que contém subdiretórios para cada aplicativo no dispositivo. Os subdiretórios conterão APKs, bibliotecas nativas e arquivos OBB. Nestes subdiretórios, o sistema de arquivos incremental será montado e cada um será montado por ligação para apontar para os diretórios de instalação originais, ou seja. /data/app/. A Google Play Store será capaz de verificar a assinatura do arquivo de aplicativos instalados no FS Incremental, o que provavelmente impedirá a execução de aplicativos incrementais com assinaturas diferentes das aplicações atualmente instaladas.
Dado que o trabalho neste recurso ainda está em andamento e o prazo interno para grandes alterações nos recursos do Android 11 é provavelmente rápido se aproximando, se ainda não foi aprovado, suspeitamos que os dispositivos não começarão a ser fornecidos com suporte para o sistema de arquivos incremental até o Android 12 em 2021. Continuaremos acompanhando o desenvolvimento desse recurso e iremos atualizá-lo se soubermos mais sobre como ele funciona, é claro.
Agradecimentos aos desenvolvedores reconhecidos pelo XDA phhusson e luca020400 por suas contribuições!