O que são os arquivos AAB e qual a diferença para os APKs no Android?
O novo formato de arquivo AAB já está entre nós — e o Google está eliminando os arquivos APK. A partir de agosto, os desenvolvedores terão de enviar novos aplicativos Android para a Google Play Store no formato AAB. Mas qual é realmente a diferença entre AABs e APKs? O AAB é melhor ou pior que o APK?
Desde o lançamento do Android há mais de uma década, os arquivos APK têm sido O formato universal para aplicativos. Seja para desenvolvedores ou usuários, na Google Play Store, APKMirror ou fóruns de discussão— os apps sempre eram APKs. Para os desenvolvedores, os AABs agora se tornarão obrigatórios — e para as pessoas que usam Android, os APKs se tornarão mais complicados.
Os AABs obrigatórios serão aplicados a todas os novos apps a partir de agosto de 2021. As atualizações para aplicativos existentes ainda podem ser enviadas pelos desenvolvedores no formato APK — portanto, nada mudará aqui por enquanto.
O que são os arquivos AAB?
"AAB" significa Android App Bundle. O arquivo AAB contém o código completo do programa do aplicativo Android. Assim que o desenvolvimento estiver completo, o responsável envia seu aplicativo para a Google Play Store no formato AAB — e você baixa o mesmo arquivo de lá para seu celular, como já acontece atualmente.
À primeira vista, nada muda — e nem mesmo à segunda vista. Porque ao clicar em "Instalar" na Google Play Store, seu smartphone ainda faz o download de um arquivo APK. Então, qual é o objetivo de todo esse trabalho?
Qual é a diferença entre os arquivos AAB e APK?
Os arquivos AAB são feitos sob medida
A diferença entre os arquivos APK e AAB está no que é chamado de recursos. Em um aplicativo, recursos são tudo o que não é código de programação, tais como imagens, arquivos de linguagem ou música. Se você pressionar o botão de "Instalar" de um aplicativo na Play Store, o Google envia um arquivo APK adaptado do AAB original para seu dispositivo com apenas os recursos que você precisa.
Seu celular só tem resolução Full HD+? Então você receberá um APK sem recursos para 4K. Você configurou o inglês e o português como idioma do dispositivo? Você provavelmente não vai precisar da tradução para finlandês. A propósito, com a ajuda da ferramenta do Google bundletool, os arquivos AAB podem ser convertidos em APKs localmente.
Assinatura pelo Google ao invés do desenvolvedor
Outra grande diferença está na assinatura dos aplicativos. Anteriormente, eram sempre os próprios desenvolvedores do aplicativo que o assinavam com sua chave de desenvolvedor. Esta chave pode ser usada ao instalar o aplicativo em um celular para verificar se ele foi adulterado e, por exemplo, contém malware — ou se foi desbloqueado para funções que, de outra forma, teriam de ser pagos.
No futuro, não será o desenvolvedor quem assina os APKs, mas o Google — isto é, ao gerar os arquivos APK a partir dos AABs. Logicamente, as chaves não serão mais mantidas pelos desenvolvedores, e sim pelo Google.
Os arquivos AAB são melhores que os APKs?
Tamanhos de arquivos menores que APKs
A primeira grande vantagem dos arquivos AAB é, evidente: os APKs gerados desta forma são menores. Em média, 35% de dados podem ser economizados desta forma, como escreveu o Google em outubro de 2018. Isso parece pouco à primeira vista, mas incluindo as värias atualizações dos apps, poderia somar em algum momento.
Melhor proteção para aplicativos
Outro benefício, especialmente para os desenvolvedores, é uma maior segurança. Provavelmente será mais difícil modificar aplicativos no futuro, o cenário mod pode não ficar muito feliz com isso. Quem sabe, talvez isso reduza o número de cheaters no Among Us, mesmo que eu não acredite muito nisso por enquanto.
Falando nisso, com os AABs, as versões Lite e Pro na Play Store também devem desaparecer. Era possível instalar uma versão Pro paga sobre a versão Lite após a compra, graças à mesma assinatura, como uma atualização. Com os AABs e a assinatura pelo Google, isso não é mais possível — em vez disso, os desenvolvedores terão que mudar para compras no app.
Atualizações e desenvolvimento mais fáceis
Se os APKs são montados individualmente dependendo da pessoa ou de seu hardware, isto traz vantagens para os desenvolvedores. Como publicou o site NDTV, graças ao formato AAB, as atualizações podem ser distribuídas para dispositivos específicos em momentos específicos. Esta é uma vantagem especialmente com a enorme fragmentação do Android e poderia evitar atualizações quebradas no futuro ou mitigar seus efeitos.
O próprio desenvolvimento também se tornará mais fácil. No passado, muitos desenvolvedores tinham que enviar várias versões APK para seu aplicativo na Play Store, adaptadas a diferentes regiões, idiomas ou arquiteturas de processadores. No futuro, os desenvolvedores só precisarão carregar um arquivo AAB único e universal.
Os arquivos AAB são piores que os APKs?
Arquivos AAB e a confusão com o sideload
No entanto, há desvantagens, especialmente devido às assinaturas mencionadas anteriormente. Quer apenas baixar o novo beta do WhatsApp no APKMirror e testar novas funcionalidades? Esqueça, porque o APKMirror usa uma assinatura diferente do que a Google Play Store. Aplicativos para sideload em diferentes lojas de aplicativos de terceiros podem se tornar um pesadelo no futuro. E agora, Windows 11 com APK e sem suporte AAB?
Claro, você pode simplesmente desinstalar o aplicativo e reinstalá-lo em seu celular a partir de outra fonte. Mas então você terá que — com mais ou menos esforço, dependendo do app — fazer backup de todos os seus dados e depois reinstalá-los.
AAB dá poder ao Google
O fato de que no futuro as assinaturas serão armazenadas pelo Google também pode ser visto de forma crítica. Se os servidores forem invadidos, todos os apps podem apresentar um risco de segurança de uma só vez. E como explicam os colegas do site XDA-Developers: o Google também tem o poder de mudar aplicativos por conta própria através das chaves do desenvolvedor.
Portanto, teoricamente, se um governo pressionasse o Google, eles poderiam incluir um backdoor em um Messenger seguro, sem o conhecimento dos desenvolvedores originais.
Sim, o Google se preocupa enormemente com a segurança. E sim, o Google já saiu de um mercado ao invés de se curvar aos desejos moralmente duvidosos do governo de lá. Mas é apenas um fato: o Google simplesmente obtém mais poder com os arquivos AAB. Há também uma discussão interessante sobre este tópico no StackOverFlow.
A correção de erros torna-se mais difícil
Outra desvantagem diz respeito aos próprios desenvolvedores de aplicativos e à correção de erros, como o desenvolvedor Mark Murphy escreveu na Commonsware. Se uma única pessoa tinha problemas com um aplicativo que não podiam ser identificados pelo desenvolvedor, costumava haver um remédio simples: adaptar o app, enviá-lo ao usuário, deixá-lo atualizar o aplicativo e esperar que o erro desaparecesse. Mas isso só é possível porque os próprios desenvolvedores podem assinar os aplicativos.
No site Medium, a propósito, o evangelista de desenvolvimento Android Wojtek Kaliciński comentou sobre muitas das críticas acima e muito mais.
AAB: sim ou não?
O resultado final é que a obrigação do AAB não deve mudar muito para a maioria das pessoas — caso contrário, já teríamos notado algo a respeito. Afinal de contas, uma grande parte dos 1.000 principais aplicativos da Google Play Store já são carregados como AAB por seus desenvolvedores — embora não houvesse nenhuma exigência para isso.
Mas para os geeks, os entusiastas e alguns desenvolvedores, o formato AAB pode acabar com parte da graça do Android. Afinal, o Google não é a Apple, e ainda é possível certificar aplicativos fora da Play Store. O Google ainda não pôs um fim ao sideload (por enquanto). Mas a gigante das buscas está trabalhando duro para assegurar a posição de monopólio da Google Play Store.
Como saber se um app já usa o aab e já está otimizado pro seu dispositivo?
Segundo o Google, o processo será transparente para o usuário.
Ao que tudo indica, o próprio app da Play Store já solicita o arquivo otimizado, caso disponível.
Para identificar, imagino que só descompilando o APK para ver se ele só inclui os recursos necessários para o nosso aparelho (português, arquitetura do processador, etc).
Esqueceram de outro fato, o W11 continuará sem apps -)