As imagens do sistema Android 11 para hardware x86 agora oferecem suporte à emulação ARM no Android Emulator no Android Studio para PCs x86.
O Google lançou o Visualização 2 do desenvolvedor do Android 11 no início deste mês. Com esta versão, o Google fez uma mudança importante para permitir uma depuração de aplicativos mais eficiente no Android Emulator dentro Estúdio Android. As imagens do sistema Android 11 para CPUs x86 agora permitem que aplicativos com dependências C ou C++ rodem mais sem problemas, sem emulação ARM completa e utilizando aceleração de hardware e virtualização de CPU de x86 hardware.
Os aplicativos Android escritos em código nativo (ou seja, C ou C++) devem ser compilados com diferentes arquiteturas de CPU em mente. Deve haver diferentes versões do aplicativo destinadas a diferentes arquiteturas de CPU, como ARM, ARM64, x86 ou x86-64. Isso ocorre porque o código nativo é compilado diretamente nas instruções de máquina para a arquitetura específica, em oposição aos aplicativos Kotlin ou Java que são executados no Android Runtime (ART).
Para testar seu aplicativo por meio do Android Emulator executado em um computador baseado em x86, você precisa de uma versão diferente para CPU x86. A versão x86 do aplicativo não funciona em smartphones, pois normalmente são baseados em CPUs ARM ou ARM64. Até agora, o único A solução para esse problema foi usar um dispositivo Android físico ou instalar imagens de emulador com emulação ARM completa para CPUs x86. A última opção exige muito desempenho e não pode aproveitar ao máximo a aceleração de hardware e a virtualização de CPU que o x86 oferece. Oferta de CPUs.
Para resolver isso, o Google lançou agora as novas imagens do sistema Android 11 x86 com compatibilidade ARM. Essas imagens de sistema utilizam ABIs (interfaces binárias de aplicativos) que fazem a intermediação entre aplicativos escritos em linguagens diferentes ou entre aplicativos e o sistema operacional. As instruções ARM dentro do binário ARM são traduzidas exclusivamente para x86 enquanto o restante do código continua a ser executado em x86. Devido a esse isolamento dos binários ARM, o processo exige menos desempenho e é executado mesmo em hardware de baixo nível.
Além de facilitar a depuração de aplicativos Android usando dependências C++, também permitirá que os desenvolvedores basta publicar a versão ARM de seus aplicativos junto com ABIs em vez de uma versão x86 para Chromebooks no futuro. Isso estimulará o suporte para mais aplicativos direcionados ao Android 11 em uma variedade de Chromebooks.
As novas imagens do sistema Android 11 compatível com x86 podem ser baixadas em Estúdio Android usando o Gerenciador de dispositivos virtuais Android ou o Gerenciador do SDK.