Unity Android: Como Gerar APK e Testar no Celular

Unity Android do zero: módulos pelo Hub, Build Profiles do Unity 6.3, Player Settings mínimos, IL2CPP com ARM64, depuração USB e Build And Run no seu celular.
Unity Android: Como Gerar APK e Testar no Celular
Para levar um projeto Unity Android do editor para o seu celular, são cinco etapas: instalar o módulo Android Build Support pelo Unity Hub, trocar a plataforma para Android na janela Build Profiles, ajustar o mínimo do Player Settings (nome do pacote, API mínima, IL2CPP com ARM64), ativar a depuração USB no celular e clicar em Build And Run. Este guia passa por cada uma no Unity 6.3 LTS, com o porquê de cada configuração e os erros que aparecem na primeira build.
No fim você tem o jogo instalado e rodando no aparelho, com os logs aparecendo no computador, e sabe quando gerar APK e quando gerar AAB para a loja.
O que precisa instalar
Você não precisa do Android Studio para gerar um APK na Unity. Tudo o que a build pede vem pelo Unity Hub, em três módulos:
- Android Build Support: o suporte da Unity à plataforma.
- OpenJDK: o Java usado pelas ferramentas de build. Na Unity 6.3, é o OpenJDK 17.
- Android SDK & NDK Tools: o SDK do Android (ferramentas de build e plataformas) e o NDK, usado para compilar código nativo com IL2CPP.
A Unity instala esses três dentro da pasta do próprio editor (em Editor/Data/PlaybackEngines/AndroidPlayer/), nas versões que ela testou. Esse é o motivo de usar os módulos do Hub em vez de apontar para um SDK que você já tinha: versões diferentes das esperadas estão entre as causas mais comuns de build quebrada. Quando der problema, o guia de erros de build Android na Unity mapeia as mensagens e as causas.
No celular, você precisa de um aparelho com Android 7.1 ou mais novo, que é o mínimo suportado pela Unity 6.3 segundo a documentação oficial, e um cabo USB que transmita dados.
Unity Android: módulos pelo Unity Hub
- Abra o Unity Hub e vá em Installs.
- Na versão do editor que você usa (6000.3.x), clique no ícone de engrenagem ou nos três pontos e escolha Add modules.
- Marque Android Build Support. Abaixo dele, marque também OpenJDK e Android SDK & NDK Tools.
- Aceite os termos de licença do Android SDK e clique em Install.
O download passa de alguns gigabytes. Se você está instalando o editor do zero, marque os mesmos módulos na tela de instalação e economize uma etapa.
Para conferir se a Unity encontrou tudo, abra o projeto e vá em Edit > Preferences > External Tools (no macOS, Unity > Settings > External Tools). Na seção Android, as opções de usar o JDK, o SDK e o NDK instalados com a Unity devem estar marcadas e sem aviso amarelo.
Build Profiles e trocar para Android
No Unity 6, a janela de build se chama Build Profiles (é ela que tutoriais antigos chamam de Build Settings). Abra em File > Build Profiles.
- Na lista Platforms à esquerda, selecione Android.
- Clique em Switch Platform. A Unity reimporta os assets com as configurações de Android (compressão de textura, principalmente). Num projeto grande, isso demora; num projeto novo, segundos.
- Em Scene List, confira se a cena do jogo está marcada. Só cenas da lista entram na build.
As configurações específicas do Android ficam nessa mesma janela:
- Texture Compression: deixe no padrão (ASTC atende os aparelhos atuais).
- Build App Bundle (Google Play): desmarcado gera APK; marcado gera AAB. Para testar, desmarque.
- Run Device: o aparelho para onde o Build And Run envia o jogo.
- Development Build: marque durante o desenvolvimento. Ativa logs completos e permite conectar o Profiler.
Você pode criar perfis de build adicionais (por exemplo, "Android Teste" e "Android Loja") clicando com o botão direito na plataforma e escolhendo Copy to new profile. Cada perfil guarda suas configurações, e trocar entre teste e publicação deixa de ser uma lista de caixinhas para lembrar.
Player Settings essenciais
Clique em Player Settings no topo da janela Build Profiles (ou Edit > Project Settings > Player) e abra a aba do Android (o ícone do robô). O mínimo para a primeira build:
Company Name e Product Name: no topo, fora das abas. O Product Name é o nome que aparece embaixo do ícone no celular.
Em Other Settings > Identification:
- Override Default Package Name: marque e preencha Package Name no formato
com.suaempresa.seujogo, só com letras minúsculas, números e underline, cada parte começando com letra. Esse é o identificador do app no celular e na loja. Depois de publicado, nunca mais muda, então escolha agora. - Version:
0.1.0, o número que o jogador vê. - Bundle Version Code:
1. Um inteiro que a loja usa para saber qual build é mais nova. Cada envio para a Google Play precisa de um número maior que o anterior. - Minimum API Level: o Android mais antigo em que o jogo instala. O padrão da Unity atende; subir esse número só faz sentido se você usa um recurso que exige Android mais novo.
- Target API Level: deixe em Automatic (highest installed). Para publicar, a Google Play exige que apps novos e atualizações mirem no Android 16 (API level 36) ou superior desde 31 de agosto de 2026, segundo a página oficial de requisitos de nível de API do Android Developers, consultada em outubro de 2026. Para testar no seu celular isso não importa; antes de publicar, abra a lista do Target API Level e confira se a API 36 aparece. Se não aparecer, atualize o editor para o patch mais recente da 6.3.
Em Other Settings > Configuration:
- Scripting Backend: IL2CPP. Ele converte o C# em C++ e compila nativo. A build demora mais que com Mono, mas é a única forma de habilitar ARM64.
- Target Architectures: marque ARM64. A Google Play exige versão de 64 bits para apps com código nativo, e jogos da Unity têm código nativo. A opção ARM64 só aparece habilitada com IL2CPP. Pode desmarcar ARMv7 se não quer atender aparelhos de 32 bits; o APK fica menor.
Uma estratégia comum: durante o desenvolvimento, use Mono com ARMv7 para builds de teste mais rápidas; no perfil de publicação, IL2CPP com ARM64. Só lembre de testar a build IL2CPP antes de publicar, porque ela pode revelar problemas que o Mono esconde (código removido pelo stripping, por exemplo).
Tirar o jogo do editor e colocar num aparelho é o momento em que muita gente descobre que fazer o jogo era metade do caminho: depois da build vêm desempenho em celular fraco, controles de toque, tamanhos de tela, ícone, splash, a chave que assina o pacote e a publicação na loja. É um conjunto de etapas que se aprende uma vez com alguém guiando e depois vira rotina.
Gerar o APK e instalar no celular
Prepare o celular:
- Vá em Configurações > Sobre o telefone e toque 7 vezes em Número da versão (em alguns aparelhos fica em Informações do software). Aparece o aviso de que você é desenvolvedor.
- Volte e entre em Opções do desenvolvedor (em Sistema, na maioria dos aparelhos).
- Ative Depuração USB.
- Conecte o cabo. No celular, aceite o pedido Permitir depuração USB para esse computador.
Na Unity, em Build Profiles:
- Em Run Device, clique em Refresh e escolha o seu aparelho.
- Clique em Build And Run. Escolha uma pasta fora de
Assets(por exemplo,Builds/Android) e um nome para o arquivo.apk.
A primeira build com IL2CPP leva vários minutos, porque compila todo o código nativo. As seguintes são incrementais e bem mais rápidas. Quando termina, a Unity instala o APK pelo cabo e abre o jogo no celular.
Se preferir só gerar o arquivo, use Build em vez de Build And Run. O APK pode ser copiado para o celular e instalado manualmente, desde que a instalação de apps de fontes desconhecidas esteja permitida para o gerenciador de arquivos. É assim que você manda o jogo para um amigo testar.
Depurar com USB e logcat
Com o jogo rodando no celular, os Debug.Log não aparecem no Console da Unity por padrão. Duas formas de ver:
Pacote Android Logcat. Instale pelo Window > Package Management > Package Manager o pacote Android Logcat e abra em Window > Analysis > Android Logcat. Ele mostra os logs do aparelho conectado com filtro por app e por tag. Filtre pelo nome do pacote do seu jogo para esconder o barulho do sistema.
adb pela linha de comando. O adb vem junto com o SDK instalado pela Unity, na pasta platform-tools dentro de AndroidPlayer/SDK. Com ele no terminal:
adb devices
adb logcat -s Unity
O primeiro lista os aparelhos conectados (se o seu aparece como "unauthorized", aceite o aviso no celular). O segundo mostra só as linhas com a tag Unity, que é onde caem os Debug.Log e as exceções do seu código.
Com Development Build marcado, você também pode marcar Autoconnect Profiler e ver o desempenho real no aparelho pelo Window > Analysis > Profiler. Medir no celular é obrigatório: o editor no PC esconde gargalos que um celular intermediário mostra na hora.
APK vs AAB: quando cada um
- APK (Build App Bundle desmarcado): para testar no seu aparelho, mandar para testadores por arquivo ou distribuir em lojas que aceitam APK, como a itch.io.
- AAB (Build App Bundle marcado): para enviar à Google Play, que exige esse formato para apps novos. A loja gera, a partir do AAB, APKs menores e específicos para cada aparelho.
Para qualquer build que vai para a loja, você também precisa assinar o pacote com uma chave própria, criada em Player Settings > Publishing Settings > Keystore Manager. Guarde o arquivo da keystore e a senha em lugar seguro: sem eles, você não consegue publicar atualizações do mesmo app. O caminho completo de loja, ficha e publicação está no guia de como criar o primeiro jogo mobile.
Erros comuns na primeira build
- "Android SDK not found" ou JDK não encontrado. Os submódulos OpenJDK e Android SDK & NDK Tools não foram marcados no Hub, ou as caixas de External Tools estão desmarcadas apontando para outra instalação.
- Celular não aparece no Run Device. Depuração USB desligada, cabo só de carga ou autorização não aceita.
- App não instala: "pacote inválido" ou conflito. Já existe no celular um app com o mesmo Package Name assinado com outra chave (por exemplo, uma build antiga). Desinstale o antigo.
- Tela preta ao abrir. Nenhuma cena na Scene List do Build Profile, ou um erro no primeiro frame. Veja o logcat.
- Build falha com erro de Gradle. Quase sempre conflito de versão ou de dependência. O post de erros de build Android cobre as causas uma a uma.
- Build IL2CPP muito lenta. Normal na primeira vez. Para iterar rápido, use Mono num perfil de teste.
Próximo passo
Com o APK rodando, faça a primeira passada de celular: troque o input de teclado por toque, teste em duas resoluções diferentes e meça o frame rate com o Profiler conectado. Se você também usa a Godot, compare o processo no guia de exportar Godot para Android: os conceitos (SDK, JDK, keystore, AAB) são os mesmos, só muda onde configurar.
Perguntas frequentes
Como instalar o Android Build Support na Unity?
Pelo Unity Hub: na aba Installs, clique nas opções da versão instalada, escolha Add modules e marque Android Build Support com os submódulos OpenJDK e Android SDK & NDK Tools. A Unity baixa e configura tudo dentro da pasta do editor, sem precisar instalar o Android Studio.
Qual a diferença entre APK e AAB na Unity?
O APK é o arquivo que instala direto no celular, ideal para testar e distribuir fora da loja. O AAB (Android App Bundle) é o formato que a Google Play exige para publicar: a loja gera APKs otimizados para cada aparelho a partir dele. Na Unity, a opção Build App Bundle (Google Play) nas configurações de build alterna entre os dois.
Por que preciso de IL2CPP e ARM64 no Android?
A Google Play exige versão de 64 bits dos apps com código nativo, e na Unity a arquitetura ARM64 só fica disponível com o scripting backend IL2CPP. Com Mono, o build sai só em ARMv7 (32 bits). Para testar no próprio celular, Mono compila mais rápido; para publicar, use IL2CPP com ARM64.
Qual a versão mínima do Android que a Unity 6.3 suporta?
Segundo a documentação da Unity 6.3, o suporte vai do Android 7.1 (API level 25) em diante. O valor de Minimum API Level no Player Settings define a partir de qual versão o seu jogo instala; subir esse número reduz a quantidade de aparelhos compatíveis.
Meu celular não aparece no Run Device da Unity. O que fazer?
Confira se a Depuração USB está ativa nas Opções do desenvolvedor, se o cabo transmite dados (alguns só carregam) e se você aceitou o aviso de autorização que aparece no celular ao conectar. Depois clique em Refresh na lista de dispositivos. No Windows, alguns aparelhos ainda pedem o driver USB do fabricante.


