[Linux] Instalando emulador de android para desenvolvimento
Olá, hoje eu estava querendo fazer a instalação de um emulador de android no meu Debian para usar durante o desenvolvimento de um aplicativo com Expo, então fui no site do Android Studio e baixei as ferramentas de linha de comando, e fiz uma instalação do Android 6.0 x86 que já serve para suprir minhas necessidades, dai resolvi escrever essa postagem para ajudar quem deseja fazer o mesmo que eu, já que a instalação de outros emuladores ou ate mesmo do Android Studio completo iria consumir muitos recursos.
Então vamos lá!
Instalando o Java
As ferramentas de linha de comando do Android Studio assim como a IDE são feitos em Java então é preciso fazer a instalação do mesmo em seu sistema, para isso eu usei o ASDF como instalador, usando ele a instalação em qualquer distro de qualquer versão do Java é bem fácil, então instale o ASDF seguindo esse guia e depois instale o plugin do java e a versão desejada, depois é só definir a versão escolhida como global e já é possivel usar tranquilamente o runtime, aqui eu usei os seguintes comandos:
asdf plugin add java
asdf install java openjdk-11.0.2
asdf global java openjdk-11.0.2
Eu escolhi a versão openjdk-11 porque sei que ela é compativel com as ferramentas e com o gradlew caso queria compilar algum app feito em React Native puro.
Baixando e configurando as ferramentas de linha de comando
Agora podemos fazer a instalação das ferramentas, para isso vá no site do Android Studio e na sessão de "Command line tools only" faça o download da versão para linux, depois abra uma janela no terminal e crie a pasta onde o SDK do android vai ficar, aqui eu escolhi a ~/android-sdk mas pode ser qualquer uma, depois entre nessa pasta e crie outra com o nome cmdline-tools
, em seguida entre dentro dela e extraia o arquivo zip das ferramentes, quando terminar renomeie a pasta criada para latest
, pronto, aqui já está instalado, mas ainda é preciso configurar uma variável de ambiente e colocar o diretório no PATH
da linha de comando, para isso abra o arquivo ~/.zshenv
caso use zsh ou o ~/.bashrc
caso ainda use bash, no final desse arquivo é preciso definir a variável ANDROID_HOME
e adicionar mais uma pasta no PATH
, para isso use a palavra chave export
definindo o nome da variável e seu valor, no PATH é preciso adicionar antes das pastas padrões o local das ferramentas, um exemplo de configuração é o que eu fiz aqui:
export ANDROID_HOME="$HOME/android-sdk"
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
Com isso você deve fechar seu terminal e abrir novamente para que as configurações sejam carregadas, se você usar o ohmyzsh pode simplesmente rodar omz reload
que já vai funcionar tudo.
Instalando o emulador e criando dispositivo
Com isso podemos fazer a instalação do emulador, mas para que ele funcione vai ser preciso instalar outras coisas alem da imagem do sistema, são elas:
- platform-tools: Contem o ADB e algumas outras ferramentas;
- platforms: Possui alguns arquivos de configuração.
O platforms
eu sempre instalo a mesma versão da imagem do sistema, aqui eu gosto de usar o Android 6.0 como disse lá no começo, então vamos fazer a instalação dele, para isso use os seguintes comandos:
echo \
'emulator' \
'platform-tools' \
'platforms;android-23' \
'system-images;android-23;default;x86' | \
xargs -n1 sdkmanager --install
O sdkmanager
vai perguntar se aceita a licença, você deve aceitar com y
, agora é só esperar a instalação dos pacotes terminar.
Depois que tudo estiver instalado ainda é preciso adicionar outra pasta no PATH, abra o arquivo(~/.bashrc | ~/.zshenv) de configuração do seu shell, e adicione a seguinte linha no final:
export PATH="$ANDROID_HOME/emulator:$PATH"
Reinicie seu shell(omz reload
ou reabrindo o terminal) e agora vamos criar o dispositivo virtual, para isso vamos usar o avdmanager
, a criação é bem simples, você só precisa definir o nome e o pacote básico de onde vem o sistema, veja um exemplo no meu caso:
avdmanager create avd \
-n android-6 \
-k 'system-images;android-23;default;x86'
Aqui os argumentos são bem simples:
-n
define o nome do dispositivo;-k
define o pacote da imagem do sistema.
Quando rodar esse comando ele vai perguntar se deseja criar um hardware customizado, eu não modifico o meu, já tentei fazer uma vez mas não deu certo então eu apenas dou enter e deixo ele criar o disposito.
Rodando e mostrando o consumo
Para rodar o sistema basta chamar o comando emulator
passando o nome do dispositivo com um @
no começo(ex: @android-6
), e esperar iniciar, quando fechar o emulador pela primeira vez ele vai criar um snapshot para iniciar o sistema de imediato na próxima vez que for usar.
É isso obrigado por ler, espero ter ajudado e me siga no github & instagram :)