É possível executar aplicativos Android no Linux (normal)?

17

Como o Android é um kernel Linux bifurcado mais uma pilha de software, estou me perguntando se existem projetos ou idéias sobre a criação de uma versão do Android que possa ser adicionada a um sistema Linux para permitir que um sistema Linux execute aplicativos Android (compilado para, por exemplo, x86 )

Existe algo assim ou seria possível?

(Não estou falando do emulador que acompanha o SDK.)

Andrew J. Brehm
fonte
2
O Android Player para o BlackBerry Playbook está próximo, embora, é claro, seja executado no QNX e não no Linux.
Matthew Leia

Respostas:

2

As coisas mudaram um pouco nos anos desde que isso foi publicado.

Agora existem várias maneiras (embora nenhuma delas seja perfeita ainda) de executar aplicativos Android no Linux sem um emulador ou VM.

  1. O Shashlik apresenta uma ótima integração com o seu ambiente de desktop GNU. Porém, não possui o Google Play Services.
  2. O ARChon utiliza o Google Chrome e permite instalar aplicativos Android como se fossem aplicativos Chrome. É bem legal, embora aqui também a compatibilidade não seja perfeita .
  3. Finalmente, o Google está trazendo oficialmentePlay Store para o Chrome OS. Como este é um projeto oficial desenvolvido pelo Google, acredito que ele deve ter a melhor compatibilidade do lote. O Chrome OS é uma distribuição Linux, baseada no Gentoo. A maior parte do seu código-fonte é disponibilizada através do projeto Chromium OS. Como esse código fonte está disponível, não deve ser muito difícil portar essa compatibilidade para distribuições populares do GNU / Linux. O Google é relativamente amigável ao código aberto (pelo menos em comparação com a Apple / Microsoft), e eu não acho que eles estejam lançando barreiras a esse porte. Na verdade, eles parecem interessados ​​na Play Store, atingindo o maior número possível de dispositivos. Eles podem até criar essa funcionalidade em versões futuras do Google Chrome para Linux ou lançar um pacote separado. Eles lançam a maior parte do código-fonte para Android e Chrome OS,

A propósito, não há necessidade de compilar APKs separadamente para x86. Os aplicativos que você escreve são compilados no código Dalvik Executable (DEX), que é finalmente convertido em código de montagem (de acordo com a arquitetura necessária) pelo kernel para enviar ao processador. (Esta última parte é retirada desta resposta. )

Revetahw diz Restabelecer Monica
fonte
12

Nada disso existe ainda, já que os aplicativos não são executados nativamente no sistema operacional, mas eles usam a Dalvik Virtual Machine ( Wikipedia ). É um pouco comparável ao Java no sentido de que ele usa o bytecode e cria um ambiente separado para cada aplicativo. Portanto, a menos que o ambiente Dalvik seja portado para outras plataformas, elas não poderão ser executadas em hardware normal.

Existe um projeto chamado Alien Dalvik da Myriad que tenta executar aplicativos Android em diferentes ambientes, mas não há muita informação sobre ele. Myriad Alien Dalvik

onik
fonte
1

As coisas mudaram novamente desde que Revetahw postou.

Shashlik parece ser um projeto inativo, mas a Anbox parece estar ganhando terreno. A vantagem do Anbox é que ele não emula o kernel do Android, mas usa os recursos do kernel do Linux para compartilhar o kernel entre o sistema Linux e o sistema Android.

Além disso, o Chrome OS agora tem suporte estável a aplicativos Android em vários dispositivos, mas, infelizmente, essa integração é de código fechado, sem planos de código aberto anunciado.

Homem de Lata
fonte
0

Não sei se existem projetos desse tipo. O que mais se aproxima provavelmente é o projeto android-x86, que é uma porta de um ambiente android nas estações de trabalho: http://www.android-x86.org/

Juri
fonte
1
Isso não emula um ambiente Android em estações de trabalho desktop, é uma porta do Android para PCs normais.
Andrew J. Brehm
Claro, minha formulação não era muito adequada. Corrigido, thx.
Juri