AndroidAplicativosSistemas operacionais

Anbox – O projeto que quer integrar Apps de Android nas distros Linux de Desktop

Todas as pessoas que não analisaram à fundo a questão tem esta dúvida. Se Android é Linux, por que os Apps de Android não rodam nas distros de Desktop, como Debian, Ubuntu, Manjaro, Fedora, etc?

Além de responder esta pergunta, hoje você conhecerá o projeto Anbox, que tem exatamente este objetivo.

Nesta semana eu recebi diversas mensagens sobre o Anbox, seja por e-mail, seja por Facebook, Twitter, no canal e até pessoalmente, acredite se quiser, ou seja, esse software chamou muito a atenção das pessoas pela sua proposta.

Abstraindo o lado técnico, resumidamente, o Anbox permite que você rode aplicativos Android na sua distribuição Linux de desktop de forma “quase” que nativa.

Sinceramente, desde que funcione bem, eu não me importo na definição técnica de nativa ou não, o mesmo vale para  Wine com os Apps de Windows.

Como eu não gosto de simplesmente colocar as coisas “do nada” aqui para vocês, eu resolvi fazer vários testes antes, mas antes de conversamos sobre isso, me deixe responder a questão levantada no início do artigo. Se Android também é Linux, por que a sua distro não roda os Apps do “sistema do robozinho?”

Estrutura de um sistema Android

Vejamos à partir da imagem acima que foi retirada diretamente do site do Android, o que a sua distro de Desktop tem de semelhante com o Android? Se você olhou pro “tijolinho” vermelho, o Kernel, então você acertou.

Se você acompanha o Diolinux no canal do YouTube, nas redes sociais, etc, deve ter percebido que frase mais repetida deve ter sido: “Linux é um Kernel”, nada além disso. Pois bem, de fato é isso mesmo, só pra enfatizar.

Distribuições Linux são sistemas operacionais (para desktops, smartphones, servidores, IoT, etc) que usam o Kernel Linux como base de projeto. O chamado “Linux de Desktop” segue um certo padrão que vai além de simplesmente usar o Kernel Linux apenas, mas outras bibliotecas, ferramentas, servidores gráficos, servidores de som, são comuns entre as distros, por isso programas que rodam no Ubuntu costumam rodar no Fedora, programas que rodam no Manjaro costumam rodar no openSUSE e assim por diante. Muitas destas ferramentas são originárias do projeto GNU (e tantas outras também não são), como o próprio Bash, muito popular em várias distros (praticamente todas), incluindo até o macOS da Apple.

O Android é diferente. Ele também usa o Kernel Linux, assim como a sua distro de desktop, mas o que vem acima do Kernel é que é diferente de um sistema de “desktop Linux” comum. São bibliotecas e frameworks diferentes, e como Kernel por si só não roda nada (a função do Kernel é criar uma “ponte” entre aplicativos e hardware), temos esta incompatibilidade. O simples fato de Ubuntu e Android compartilharem o mesmo tipo de Kernel não os faz rodar o mesmo tipo de aplicação. De forma simples, é basicamente isso.

O Kernel dos Smartphones também é comumente construído somente com os drivers de dispositivos e recursos que o próprio Smartphone terá, procurando otimizar o sistema e torná-lo mais veloz, é por isso que o Android que a Samsung usa no Galaxy você pode instalar no Moto Z, e vice-e-versa, sendo que esta regra vale para qualquer fabricante praticamente, só estou dando exemplo.

É o mesmo que acontece entre aplicações do macOS e sistemas com Kernel BSD, apesar do Darwin (Kernel do macOS) ter suas raízes no BSD, a “parte que roda” as aplicações do sistema é diferente, gerando a incompatibilidade.

Agora é que vem o Anbox

Anbox é um nome muito inteligente e que exprime de forma compacta o funcionamento do projeto. Anbox, Android in a Box. Sendo que o funcionamento do projeto, consiste em utilizar um container para rodar o sistema.

Quando li pela primeira vez sobre o Anbox, lembrei-me do Shashlik, estão lembrados? Mas lendo um pouco mais sobre o projeto acabei descobrindo que eles funcionam de jeitos bem diferentes.

Enquanto projetos como o Shashlik o outros disponíveis para Linux para rodar Apps de Android, como o Genymotion (Genymobile), onde um sistema Android com Kernel próprio é emulado e as aplicações são rodadas desta forma, no caso do Anbox, ele promove uma camada de abstração diferente, utilizando o próprio Kernel do sistema, o que, segundo os desenvolvedores, garante uma melhor integração com o próprio sistema.

O Anbox não virtualiza o Android, ele simplesmente cria essa compatibilidade com os recursos necessários para fazer os Apps rodarem sobre o próprio Kernel Linux da distribuição.

Este vídeo foi produzido pelos próprios desenvolvedores do Anbox e mostra o que seria o funcionamento do programa na prática.

Não funcionou tão bem… pelo menos para mim

Tudo bem, como está no site mesmo, o Anbox ainda é um alpha, então tem muito trabalho por vir ainda, porém, eu realmente não consegui nem sequer testá-lo direito, instalei ele, mas o programa simplesmente não roda.

Teoricamente, o Anbox foi testado no Ubuntu 16.04 LTS através de pacotes Snap e assim ele deveria funcionar, aliás, esta é a forma de distribuição principal do programa. Sem Shell Script, sem deb ou rpm, sem PPA, sem Flatpak (por enquanto), apenas via Snap.

Felizmente você pode usar os Snaps em qualquer distribuição, ainda que os testes tenham sido apenas no Ubuntu.

Bom, eu tentei… juro!

Usei o Ubuntu 16.04 LTS, usei o Ubuntu 16.10, o Ubuntu 17.04, o Deepin 15.4 RC2 e o Manjaro 17, tentei usar o pacote Snap em todos e tive o mesmo resultado, nada

Como o código do Anbox está no Git, a galera do Arch já “mexeu os pauzinhos” e temos uma versão do AUR do Anbox, procure pelo pacote “anbox-git”, porém, nem esse funcionou.

Por isso, convido você a testar, caso você faça funcionar, seria muito bom se você compartilhasse através dos comentários os seus resultados e como você fez para rodar o Anbox também.

Teoricamente, você precisa instalar o snap:

sudo snap install anbox-installer

E depois de instalado, você precisa rodá-lo:

anbox-installer

ou:

snap run anbox-installer

Será necessário digitar o número “1” no Script para escolher a opção de instalar e depois será necessário digitar em caixa alta “I AGREE” para aceitar os termos do programa, se tudo der certo, você terá o Anbox no menu do seu sistema. Até aqui eu sempre cheguei, mas nunca consegui abrir ele. 

De qualquer forma, é um projeto que promete, se conseguirmos esta integração será ótimo, muito mais aplicações  estarão disponíveis para Linux nos destkops também.

Vale a pena ficar de olho, até a próxima!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!