Instalar, iniciar y leer una app en el Android emulado
Instale un APK, inicie la app por paquete, ajuste permisos y lea la pantalla y los logs del Android emulado.
Este es el camino de Android: poner un APK en el dispositivo emulado, abrir la app, tocar los permisos de runtime y leer lo que está pasando — el árbol de accesibilidad y logcat. Son los pasos que reemplazan “instalar por Android Studio” y “mirar la pantalla” cuando el dispositivo está dentro de Elyra.
Requisitos
- Un dispositivo Android emulado activo para el workspace. Vea Emulador móvil.
- El APK ya compilado en disco, si va a instalar.
- El paquete de la app — y la activity, si no es la predeterminada.
Pasos
-
Instale el APK. Indique la ruta del archivo y el objetivo:
Janela do terminal elyra emulator install ./app-debug.apk --device emulator-5554 --jsonUse
--reinstallpara reemplazar una instalación existente del mismo paquete:Janela do terminal elyra emulator install ./app-debug.apk --reinstall --json -
Inicie la app por paquete, con la activity cuando importe:
Janela do terminal elyra emulator launch com.acme.app --activity .MainActivity --json -
Conceda o revoque un permiso de runtime. El orden es
grant|revoke, luego el paquete, luego el permiso:Janela do terminal elyra emulator permissions grant com.acme.app android.permission.CAMERA --jsonelyra emulator permissions revoke com.acme.app android.permission.CAMERA --json -
Restablezca todas las concesiones de runtime de una vez, cuando quiera un estado limpio.
resetno recibe paquete ni permiso:Janela do terminal elyra emulator permissions reset --json -
Lea la pantalla por el árbol de accesibilidad.
axvuelca el árbol de uiautomator, que es la forma de saber qué está visible sin captura de pantalla:Janela do terminal elyra emulator ax --device emulator-5554 --json -
Capture un fragmento del log.
logcathace un volcado puntual, con límite de líneas y 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 es
TAG:PRIORITY, con prioridad entreV D I W E F Sy*como tag comodín.
Resultado
- El APK queda instalado en el dispositivo emulado y la app abre por paquete y activity.
- El estado de los permisos de runtime queda bajo su control por los comandos, sin pasar por la interfaz de Android.
- El árbol de accesibilidad y las líneas de log dicen lo que la app publicó y registró.
Límites
- Estos comandos son exclusivos de Android. En un Simulator de iOS son rechazados con
emulator_unsupported. En iOS,installylaunchquedan a cargo de las herramientas de Apple, fuera de Elyra. - Un APK no confiable altera el dispositivo. Instalar es ejecutar código de terceros en el dispositivo: instale solo lo que usted compiló o confía, y prefiera un AVD desechable para eso.
resetborra todas las concesiones de runtime que usted dio — no solo la última. Es el camino para volver al estado inicial y también el camino para romper una app que dependía de ellas.- El árbol de accesibilidad y los logs pueden contener datos personales o tokens. Redacte antes de compartir: nada de esto se escribió para volverse un adjunto público.
- Lea el campo de resultado, no solo la ausencia de error.
installrespondeinstalled,launchrespondelaunchedypermissionsrespondeapplied; la variante falsa trae el motivo. - El orden de los permisos es la trampa común: intercambiar paquete y permiso es rechazado, y el rechazo no dice cuál de los dos está fuera de lugar.
- No hay verbo para desinstalar una app en esta familia.
execes un passthrough bruto, corre en el shell del dispositivo y devuelve solo el stdout — y puede cambiar el estado del simulador. - No hay captura de pantalla ni copia de archivos del dispositivo por aquí.
Recuperación y limpieza segura
- La instalación falló — relea el motivo en la respuesta; confirme que la ruta del APK existe en el host de ejecución y que el objetivo es un dispositivo Android.
- La app no abrió — revise el paquete y la activity; sin
--activity, el paquete debe resolver la activity predeterminada. - El permiso fue rechazado — confirme el orden
grant|revoke, el paquete y el nombre completo del permiso (android.permission.<NAME>). - Deshacer una concesión —
permissions revokepara un permiso específico;permissions resetpara todas. - Cerrar el auxiliar —
elyra emulator killpara liberar la sesión dejando el dispositivo encendido, oelyra emulator shutdownpara cerrarlo y apagar el dispositivo. Vea Comandos del emulador.