Anbox no Debian, Ubuntu e derivados

Que tal rodar aplicativos Android no seu sistema operacional GNU/Linux ? Finalmente o Anbox chega ao Debian e seus derivados via empacotamento convencional, não é Snap, se é o que procura confira os detalhes nessa matéria.









OBS: Nessa matéria iremos usar pacotes de terceiro, caso não concorde com essa pratica, não siga a matéria.

Anbox


Anbox é um APP baseada em contêiner para inicializar um sistema Android completo em um sistema GNU/Linux.

Em outras palavras: o Anbox permitirá que você execute o Android no seu sistema GNU/Linux sem a lentidão da virtualização.

Anbox usa namespaces Linux (usuário, pid, uts, net, mount, ipc) para rodar um sistema Android completo em um container e fornecer aplicativos Android em qualquer plataforma baseada em GNU / Linux.

O Android dentro do contêiner não tem acesso direto a nenhum hardware. Todo o acesso de hardware está passando pelo daemon anbox no host. Ele reutiliza o que o Android implementou no emulador baseado em QEMU para renderização acelerada do OpenGL ES. O sistema Android dentro do contêiner usa canais diferentes para se comunicar com o sistema host e envia todos os comandos de acesso a hardware por meio deles.

Fonte



Instalação

OBS: Disponível via repositório oficial para Debian Stretch ( Backports ), Debian Buster, Ubuntu 18.10 ( Multiverse ).

Para Debian Stretch veja abaixo como habilitar o backports.

Debian Backports



Para instalar de o comando abaixo no terminal.


sudo apt install anbox android-tools-adb android-tools-fastboot git wget curl lzip tar unzip squashfs-tools



Modulo do Kernel (linux)

Atualizado em 05 de Agosto de 2021

 
Precisamos instalar o modulo para o kernel, considero o uso de uma ppa mais confortável ao iniciante, mas a PPA está inativa e os módulos dela não são compatíveis aos kernels atuais.

Nesse caso iremos usar os módulos disponibilizados no GitHub.


Faça o download com o comando no terminal.

git clone https://github.com/anbox/anbox-modules.git

Entre no diretório de instalação.

cd anbox-modules


Instale com o comando.

sudo ./INSTALL.sh




Imagem Android

 
 
Precisamos fazer o download de uma imagem do sistema Android, para isso de os comandos abaixo no terminal.

Entre no diretório das imagens do Anbox.

cd /var/lib/anbox/

Faça o download da ultima imagem até o momento ( Caso prefira escolher uma imagem diferente entre aqui ).

sudo wget https://build.anbox.io/android-images/2018/07/19/android_amd64.img
Optei por renomear a imagem manualmente para que você fixe que ele deve ter o nome de "android.img", do contrario não ira funcionar.

Renomeie a imagem.

mv /var/lib/anbox/android_amd64.img /var/lib/anbox/android.img

Ao final reinicie a maquina para carregar os módulos instalados.

sudo reboot

Ao carregar o sistema execute o Anbox e aguarde o carregamento.



Instalação de APP no Anbox



Para instalar APP, faça o download do .apk que deseja instalar, abra o Anbox e de o comando abaixo para fazer a instalação do .apk.

Sintaxe do comando.

adb install /endereço/do/.apk

Exemplo o apk da Caixa que está na minha pasta de downloads.

adb install /home/lobo/Downloads/Caixa_3.2-32_minAPI15.apk

Ai está o APP da Caixa instalado.




APP da Caixa rodando.



Suporte Play Store e suporte ARM



Para instalar o Play Store e vários APP precisamos de suporte ARM na imagem do Anbox.

Pesquisando na net achei um script no forum Manjaro perfeito para o Anbox do Debian, diferente do Snap.

O script ira descompactar a anbox.img, fazer o download da Gapps ARM, adicionar a imagem anbox descompactada e gerar uma nova imagem, isso tudo de forma automatizada para facilitar a sua vida.

Faça o download do script

wget https://www.dropbox.com/s/wyr4p3brfosxl12/install-playstore.sh

Torne o script executavel.

chmod +x ~/install-playstore.sh

Execute o script.

sudo ./install-playstore.sh


Aguarde o final e ao final reinicie a maquina.

sudo reboot

Ai está a loja de APP.




Não são todos os APP que funcionam, mas muitos funcionam :)

Angry birds funciona de boa.




Mas não desanime caso na Play Store diga que o APP é incompatível ao seu dispositivo,





você pode baixar o .apk e instalar com o adb, fiz isso com o WhatsApp e funcionou perfeitamente.



Agora é com você, explore o Anbox :)




Inconveniente



Mesmo fechando o Anbox os módulos continuam rodando e consumindo um pouco de recursos do seu hardware.




Mas você pode matar o processo facilmente com o comando abaixo no terminal.

sudo killall anbox




Para voltar a usar o Anbox sem precisar reiniciar a maquina, reinicie os serviços com o comando abaixo no terminal.

sudo systemctl restart anbox-container-manager.service ; systemctl --user restart anbox-session-manager.service

Pode usar novamente o seu Anbox ;)


Integração com o desktop



Confira abaixo a integração dos APP Android com o desktop.




Ao instalar um APP no Anbox um atalho para o APP é criado em seu menu do sistema.




Dados salvos no Android



Você pode acessar os dados salvos no Android rodando no Anbox, basta acessar o diretório /var/lib/anbox/data/media/0/ como root.

Sintaxe do comando que pode ser usado.

sudo gerenciador_de_arquivos /endereço/


No Gnome 
sudo nautilus /var/lib/anbox/data/media/0/

XFCE4

sudo thunar /var/lib/anbox/data/media/0/

LXDE

sudo pcmanfm /var/lib/anbox/data/media/0/

Mate

sudo caja /var/lib/anbox/data/media/0/

Cinnamon

sudo nemo /var/lib/anbox/data/media/0/

No meu caso é KDE Plasma e como o Dolphin não roda como root, eu uso o Thunar

sudo thunar /var/lib/anbox/data/media/0/





Comparativo de uso de hardware



Uma pergunta feita em uma rede social, "O Anbox consome mais memória que o Genymotion ?" a resposta é não, mas consome mais CPU.

O Genymotion usa para virtualização o VirtualBox e o Anbox o QEMU que consome bem menos recursos de hardware.

Consumo com o Genymotion de 2.59 GB de memória Ram.




Consumo com o Anbox 1.7 GB de memória Ram e um consumo de +- 50% de CPU







Comentários

  1. Olá, fui instalar o software no Debian e me deparei com o seguinte:

    root@destroyer:~# apt install anbox-modules-dkms
    Lendo listas de pacotes... Pronto
    Construindo árvore de dependências
    Lendo informação de estado... Pronto
    Os seguintes pacotes foram instalados automaticamente e já não são necessários:
    libappindicator1 libdbusmenu-gtk4 libindicator7
    Utilize 'apt autoremove' para os remover.
    Os NOVOS pacotes a seguir serão instalados:
    anbox-modules-dkms
    0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 6 não atualizados.
    É preciso baixar 38,2 kB de arquivos.
    Depois desta operação, 214 kB adicionais de espaço em disco serão usados.
    Obter:1 http://ppa.launchpad.net/morphis/anbox-support/ubuntu cosmic/main amd64 anbox-modules-dkms all 13~cosmic1 [38,2 kB]
    Baixados 38,2 kB em 0s (49,4 kB/s)
    A seleccionar pacote anteriormente não seleccionado anbox-modules-dkms.
    (Lendo banco de dados ... 313391 ficheiros e directórios actualmente instalados.)
    A preparar para desempacotar .../anbox-modules-dkms_13~cosmic1_all.deb ...
    A descompactar anbox-modules-dkms (13~cosmic1) ...
    Configurando anbox-modules-dkms (13~cosmic1) ...
    Loading new anbox-1 DKMS files...
    Building for 4.9.0-8-amd64
    Building initial module for 4.9.0-8-amd64
    Done.

    ashmem_linux:
    Running module version sanity check.
    - Original module
    - No original module exists within this kernel
    - Installation
    - Installing to /lib/modules/4.9.0-8-amd64/updates/dkms/

    binder_linux.ko:
    Running module version sanity check.
    - Original module
    - No original module exists within this kernel
    - Installation
    - Installing to /lib/modules/4.9.0-8-amd64/updates/dkms/

    depmod...

    DKMS: install completed.

    root@destroyer:~# cd /var/lib/anbox/
    -bash: cd: /var/lib/anbox/: Arquivo ou diretório não encontrado

    Parece que a pasta não existe ou foi criada. Não encontrei referência de onde ela foi parar :(

    ResponderExcluir
    Respostas
    1. Raphael voce conseguiu resolver esse problema ai?? No meu caso aconteceu a mesma coisa, eu percebi que a pasta anbox estava dentro de /var/lib/dkms/anbox/, movi ela para a pasta lib mas ainda continua nao dando certo. Se vc conseguiu arrumar e puder me falar como fez eu agradeço.

      Excluir
    2. Se o dir não existe, crie
      mkdir /var/lib/anbox

      Excluir
  2. Tem que instalar o anbox para ela ser criada

    ResponderExcluir
  3. Com o suporte para ARM, o Mobdro já instala e correr novamente. Porém não liga a nenhum canal ou stream.
    O Firefox para Android funciona correctamente, e acede à Internet.

    Estou a usar a versão Debian 9 do Anbox.

    ResponderExcluir
  4. Muito bom, funcionou perfeitamente no debian 9.8, o unico porém é que eu tive que adiconar o repositório sid no meu sistema pra conseguir baixar o anbox, mas nada de mais, tá perfeito. Obrigado pelo tutorial

    ResponderExcluir
    Respostas
    1. Pra que usar o unstable se o pacote está no backports ? O que faltou foi vc seguir a matéria, ler com atenção. De forma alguma misture o unstable com stable, isso é loucura.

      Excluir
  5. Ricardo, bom dia, tenho procurado soluções para rodar apps no linux, genymotion configuro beleza, instalo o android porem alguns apps( justamente os que quero) da mensagem de incompativel... no anbox tbm nao consigo rodar o app.... mas parabens pelo seu blog.. ja me ajudou mto. =)

    ResponderExcluir
    Respostas
    1. Os APP que rodam são muitos, mas ser o que vc quer vai depender da compatibilidade, se não rosa, use em um smartfone.

      Excluir
  6. Olá boa noite, tenho uma dúvida como posso excluir um app que não desejo mais. Ter no meu anbox, com o comando adb posso fazer isso ?

    Desde de já agradeço por compartilhar seu conhecimento e pela estrutura que o site oferece !

    ResponderExcluir
  7. Em imagem para Android ao digitar o primeiro comando: cd /var/lib/anbox/ , o terminal responde: No such file or directory

    ResponderExcluir
    Respostas
    1. Simples, vc não seguiu a matéria, não instalou o Anbox recomendado e ou está com o por snap.

      Excluir
  8. Respostas
    1. Cara não tem como não ter o diretório, vc não instalou o anbox e se tem instalado é o por snap. poste um print da saida apt search anbox | grep installed

      Excluir
  9. Portugues Version:

    Oi. Eu sou Carlos Ferreyra, de Santiago del Estero, Argentina.

    Eu segui o seu tutorial, Verbatim.
    No entanto, embora eu tenha conseguido instalar o Anbox, também o Google PlayStore e até conseguimos fazer o download de vários jogos e outros aplicativos, nem os "Angry Birds Friends" nem o "Angry Birds 2", que são jogos, funcionam para mim , para o qual instalei o AnBox principalmente, para minha filha brincar. Mas em suas imagens, o Angry Birds 2 aparece !!!

    Esclareço que tenho o Zorin Linux 15, que é baseado no Debian e Ubuntu, se bem me lembro.

    Spanish Version:

    Hola. Soy Carlos Ferreyra, desde Santiago del Estero, Argentina.

    He seguido tu Tutorial, al Pie de la Letra.
    Sin embargo, si bien logre instalar Anbox, tambien el PlayStore de Google y hasta he logrado Bajar varios Juegos y alguna que otra aplicacion, No me funcionan ni el "Angry Birds Friends", ni el "Angry Birds 2", que son los juegos, por los que instale AnBox principalmente, para que juegue mi hija. Pero en tus imagenes, aparece el Angry Birds 2 !!!

    Aclaro que tengo Zorin Linux 15, que esta basado en Debian y Ubuntu, si mal no recuerdo.

    print da saida: (Impresion de la Salida:)

    usuario2020@SRVRPC:~$ sudo thunar /var/lib/anbox/data/media/0/
    [sudo] contraseña para usuario2020:
    Gtk-Message: 12:58:40.221: GtkDialog mapped without a transient parent. This is discouraged.
    Thunar: No se pudo abrir «/var/lib/anbox/data/media/0/»: Error al obtener la información del archivo «/var/lib/anbox/data/media/0»: No existe el archivo o el directorio
    usuario2020@SRVRPC:~$ apt search anbox | grep installed

    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

    usuario2020@SRVRPC:~$

    ResponderExcluir
    Respostas
    1. Alguns APP não rodam e os que rodam depende de o seu hardware suportar.

      Excluir
  10. Prezado, boa tarde:
    Eu uso o Debian 10 e tive o seguinte problema após os passos anteriore:
    root@dino:~# apt install anbox-modules-dkms
    E: Não foi possível obter trava /var/lib/dpkg/lock-frontend - open (11: Recurso temporariamente indisponível)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

    Você tem alguma sugestão do que eu precisaria fazer?
    obrigado

    ResponderExcluir
    Respostas
    1. Quando ocorrer esse erro é o sistema buscando atualização, aguarde uns minutos que volta ao normal.

      Excluir
  11. meu anbox não executa, dá esse erro no linux mint debian edition:anbox launch
    [ 2021-03-12 05:08:55] [launch.cpp:169@operator()] The intent you provided is invalid. Please provide a correct launch intent.
    [ 2021-03-12 05:08:55] [launch.cpp:170@operator()] For example to launch the application manager, run:
    [ 2021-03-12 05:08:55] [launch.cpp:171@operator()] $ anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
    renan-linux@itautec-st4262:~$ anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
    [ 2021-03-12 05:10:06] [launch.cpp:214@operator()] Session manager failed to become ready
    O que fazer?

    ResponderExcluir
    Respostas
    1. O comando que vc está usando não é dessa matéria, deveria perguntar onde pegou esse comando ou seguir essa matéria e só.

      Excluir
  12. O repositório ppa:morphis/anbox-support acredito não existir mais.

    ResponderExcluir

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais