Diferença entre APIs do Google (x86 System Image) e APIs do Google (ARM System Image) no Android 4.4.2


93

Eu estava acompanhando isso ( http://developer.android.com/google/play-services/setup.html#Install ). Ele me pediu para instalar APIs do Google para Android API 17 (ou superior), mas quando abri o SDK Manager, parecia que era:

SDK Manager

Portanto, minha pergunta é: o que são essas duas APIs do Google? E qual é a diferença entre esses dois?


1
IIRC, eles são para processadores diferentes.
Mike D

14
A imagem ARM é mais parecida com a maioria dos dispositivos Android, mas requer que o processador seja emulado e, portanto, é muito lenta. O x86 é potencialmente um pouco mais rápido, possivelmente usando mecanismos de suporte de máquina virtual para executar o código de maneira parcialmente nativa. Você pode tentar o x86 para velocidade e voltar para o ARM se tiver problemas de compatibilidade. Consulte developer.android.com/tools/devices/emulator.html
Chris Stratton

Respostas:


127

No início, as únicas imagens do sistema Android disponíveis rodavam no conjunto de instruções ARM. Uma imagem do sistema é usada para criar diferentes dispositivos virtuais Android (AVDs) e emular os diferentes dispositivos Android de uso comum.

Como as estações de trabalho do desenvolvedor geralmente são baseadas em Intel x86, o conjunto de instruções ARM também teve que ser emulado. Isso resultou em um desempenho ruim dos AVDs devido principalmente à quantidade de tradução que o processador x86 estava fazendo para emular o conjunto de instruções ARM.

No Android 4.0.3 (API 15), a Intel forneceu sua própria imagem de sistema Android baseada em x86. Isso poderia então ser usado para criar AVDs que não precisassem fazer a tradução do ARM. Combinado com o Intel Hardware Accelerated Execution Manager (HAXM), os AVMs x86 foram até 10 vezes mais rápidos do que os emuladores ARM equivalentes.

O suporte para APIs Android específicas do Google, como a API do Google Maps para Android, não é fornecido com as imagens padrão do sistema Android. Eles precisam ser instalados separadamente usando o Android SDK Manager. Para usar essas APIs com uma imagem do sistema x86, você também precisa instalar as APIs do Google (Imagem do sistema x86) para o mesmo nível de API.


4
Então, o que eu escolho quando clico com o botão direito do mouse em meu projeto, vou para propriedades e vou para android?
Andrew

5
Clique em ambos: (1) Intel x86 Atom System Image e (2) APIs do Google (x86 System Image) Veja aqui para mais detalhes: software.intel.com/en-us/blogs/2014/03/06/…
user64141

2
@oenpelli, O que significa "API" em "APIs do Google"? Quando selecionamos a instalação de "APIs do Google", o que realmente acontece? Ele apenas baixa as bibliotecas Java do Android usadas pelo Google ou há outro código de sistema envolvido?
Pacerier 01 de

1
@Pacerier com "APIs do Google", você pode configurar a conta do Google dentro do emulador, que não está disponível na imagem do Android puro. A API do Google Maps também foi adicionada, caso seu aplicativo precise.
artkoshelev

5
Qual é a diferença entre a imagem da API do Google e a imagem do Google Play?
Banee Ishaque K
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.