Instalar, iniciar e ler um app no Android emulado
Instale um APK, inicie o app por pacote, ajuste permissões e leia a tela e os logs do Android emulado.
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.
- 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
-
Instale o APK. Aponte o caminho do arquivo e o alvo:
Janela do terminal elyra emulator install ./app-debug.apk --device emulator-5554 --jsonUse
--reinstallpara substituir uma instalação existente do mesmo pacote:Janela do terminal elyra emulator install ./app-debug.apk --reinstall --json -
Inicie o app pelo pacote, com a activity quando ela importar:
Janela do terminal elyra emulator launch com.acme.app --activity .MainActivity --json -
Conceda ou revogue uma permissão de runtime. A ordem é
grant|revoke, depois o pacote, depois a permissão:Janela do terminal elyra emulator permissions grant com.acme.app android.permission.CAMERA --jsonelyra emulator permissions revoke com.acme.app android.permission.CAMERA --json -
Redefina todas as concessões de runtime de uma vez, quando quiser um estado limpo.
resetnão recebe pacote nem permissão:Janela do terminal elyra emulator permissions reset --json -
Leia a tela pela árvore de acessibilidade.
axdespeja a árvore do uiautomator, que é a forma de saber o que está visível sem captura de tela:Janela do terminal elyra emulator ax --device emulator-5554 --json -
Capture um recorte do log.
logcatfaz um dump pontual, com limite de linhas e filtros por tag:Janela do terminal elyra emulator logcat --lines 200 --device emulator-5554 --jsonelyra emulator logcat --filters "MyTag:D" --filters "*:S" --lines 200 --jsonCada filtro é
TAG:PRIORIDADE, com prioridade entreV D I W E F Se*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,installelaunchficam 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.
resetapaga 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.
installrespondeinstalled,launchrespondelaunchedepermissionsrespondeapplied; 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 revokepara uma permissão específica;permissions resetpara todas. - Encerrar o auxiliar —
elyra emulator killpara liberar a sessão deixando o aparelho ligado, ouelyra emulator shutdownpara encerrar e desligar o dispositivo. Veja Comandos do emulador.