Anbox - O projeto que quer integrar Apps de Android nas distros Linux de Desktop Dionatan Simioni segunda-feira, 17 de abril de 2017
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.
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?"
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.
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!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.
Nenhum comentário:
Postar um comentário