---
id: "sistema.emulador-android"
titulo: "Instalar, iniciar e ler um app no Android emulado"
resumo: "Instale um APK, inicie o app por pacote, ajuste permissões e leia a tela e os logs do Android emulado."
idioma: "pt-br"
tipo: "tutorial"
categoria: "ambientes"
aplicavelDesde: "0.0.16"
capabilities: ["devices.android.apps", "devices.android.diagnostics"]
estadoEditorial: "aprovado"
nivelEvidencia: "artefato-distribuido"
refFonte: "27574c339b58316408f6be2d62169d59041d07bf"
revisaoFonte: "2026-09-24"
revisor: "mantenedor (v1, 2026-10-03)"
rota: "/docs/pt-br/sistema/emulador-android/"
fonte: "pt-br/sistema/emulador-android.md"
caminhoPublico: "docs/publica/pt-br/sistema/emulador-android.md"
hashFonte: "sha256:d0e4fba9af6f76aaddb5b3bf7368f120b9094f9e806a6bedc5b215205a4bb7d5"
hashDestaPagina: "sha256:d0e4fba9af6f76aaddb5b3bf7368f120b9094f9e806a6bedc5b215205a4bb7d5"
traducaoAssistidaPorIA: false
traducaoDesatualizada: false
corpoRetido: false
---
Este é o caminho do Android: colocar um APK no aparelho emulado, abrir o app, mexer nas permissões de
runtime e ler o que está acontecendo — a árvore de acessibilidade e o logcat. São os passos que
substituem "instalar pelo Android Studio" e "olhar a tela" quando o aparelho está dentro do Elyra.

## Pré-requisitos

- Um aparelho **Android** emulado ativo para o workspace. Veja [Emulador de celular](/docs/pt-br/sistema/emulador/).
- O APK já compilado no disco, se você for instalar.
- O pacote do app — e a activity, se ela não for a padrão.

## Passos

1. **Instale o APK.** Aponte o caminho do arquivo e o alvo:

   ```bash
   elyra emulator install ./app-debug.apk --device emulator-5554 --json
   ```

   Use `--reinstall` para **substituir uma instalação existente** do mesmo pacote:

   ```bash
   elyra emulator install ./app-debug.apk --reinstall --json
   ```

2. **Inicie o app pelo pacote**, com a activity quando ela importar:

   ```bash
   elyra emulator launch com.acme.app --activity .MainActivity --json
   ```

3. **Conceda ou revogue uma permissão de runtime.** A ordem é `grant|revoke`, depois o pacote,
   depois a permissão:

   ```bash
   elyra emulator permissions grant com.acme.app android.permission.CAMERA --json
   elyra emulator permissions revoke com.acme.app android.permission.CAMERA --json
   ```

4. **Redefina todas as concessões de runtime** de uma vez, quando quiser um estado limpo. `reset` não
   recebe pacote nem permissão:

   ```bash
   elyra emulator permissions reset --json
   ```

5. **Leia a tela pela árvore de acessibilidade.** `ax` despeja a árvore do uiautomator, que é a forma
   de saber o que está visível sem captura de tela:

   ```bash
   elyra emulator ax --device emulator-5554 --json
   ```

6. **Capture um recorte do log.** `logcat` faz um dump pontual, com limite de linhas e filtros por
   tag:

   ```bash
   elyra emulator logcat --lines 200 --device emulator-5554 --json
   elyra emulator logcat --filters "MyTag:D" --filters "*:S" --lines 200 --json
   ```

   Cada filtro é `TAG:PRIORIDADE`, com prioridade entre `V D I W E F S` e `*` como tag curinga.

## Resultado

- O APK fica instalado no aparelho emulado e o app abre por pacote e activity.
- O estado das permissões de runtime fica sob seu controle pelos comandos, sem passar pela interface
  do Android.
- A árvore de acessibilidade e as linhas de log dizem o que o app publicou e registrou.

## Limites

- **Estes comandos são exclusivos do Android.** Num Simulator do iOS eles são recusados com
  `emulator_unsupported`. No iOS, `install` e `launch` ficam por conta das ferramentas da Apple, fora
  do Elyra.
- **Um APK não confiável altera o aparelho.** Instalar é executar código de terceiros no dispositivo:
  instale só o que você compilou ou confia, e prefira um AVD descartável para isso.
- **`reset` apaga todas as concessões de runtime que você deu** — não apenas a última. Ele é o
  caminho para voltar ao estado inicial e também o caminho para quebrar um app que dependia delas.
- **A árvore de acessibilidade e os logs podem conter dados pessoais ou tokens.** Redija antes de
  compartilhar: nada aqui foi escrito para virar anexo público.
- **Leia o campo de resultado, não apenas a ausência de erro.** `install` responde `installed`,
  `launch` responde `launched` e `permissions` responde `applied`; a variante falsa traz o motivo.
- **A ordem das permissões é a armadilha comum**: trocar pacote e permissão é recusado, e a recusa não
  diz qual dos dois está fora de lugar.
- **Não existe verbo para desinstalar um app** nesta família. `exec` é passthrough bruto, roda no
  shell do dispositivo e devolve apenas o stdout — e pode alterar o estado do simulador.
- **Não há captura de tela nem cópia de arquivo do dispositivo** por aqui.

## Recuperação e limpeza segura

- **A instalação falhou** — releia o motivo na resposta; confirme que o caminho do APK existe no host
  de execução e que o alvo é um dispositivo Android.
- **O app não abriu** — confira o pacote e a activity; sem `--activity`, o pacote precisa resolver a
  activity padrão.
- **A permissão foi recusada** — confirme a ordem `grant|revoke`, o pacote e o nome completo da
  permissão (`android.permission.<NOME>`).
- **Desfazer uma concessão** — `permissions revoke` para uma permissão específica; `permissions
  reset` para todas.
- **Encerrar o auxiliar** — `elyra emulator kill` para liberar a sessão deixando o aparelho ligado, ou
  `elyra emulator shutdown` para encerrar e desligar o dispositivo. Veja
  [Comandos do emulador](/docs/pt-br/sistema/emulador-cli/).

## Próximos passos

- [Comandos do emulador](/docs/pt-br/sistema/emulador-cli/)
- [Interagir com o aparelho emulado](/docs/pt-br/sistema/emulador-interacao/)
