Ir al contenido

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.

Ver Markdown

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

  1. Instale el APK. Indique la ruta del archivo y el objetivo:

    Janela do terminal
    elyra emulator install ./app-debug.apk --device emulator-5554 --json

    Use --reinstall para reemplazar una instalación existente del mismo paquete:

    Janela do terminal
    elyra emulator install ./app-debug.apk --reinstall --json
  2. Inicie la app por paquete, con la activity cuando importe:

    Janela do terminal
    elyra emulator launch com.acme.app --activity .MainActivity --json
  3. 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 --json
    elyra emulator permissions revoke com.acme.app android.permission.CAMERA --json
  4. Restablezca todas las concesiones de runtime de una vez, cuando quiera un estado limpio. reset no recibe paquete ni permiso:

    Janela do terminal
    elyra emulator permissions reset --json
  5. Lea la pantalla por el árbol de accesibilidad. ax vuelca 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
  6. Capture un fragmento del log. logcat hace un volcado puntual, con límite de líneas y filtros por tag:

    Janela do terminal
    elyra emulator logcat --lines 200 --device emulator-5554 --json
    elyra emulator logcat --filters "MyTag:D" --filters "*:S" --lines 200 --json

    Cada filtro es TAG:PRIORITY, con prioridad entre V D I W E F S y * 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, install y launch quedan 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.
  • reset borra 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. install responde installed, launch responde launched y permissions responde applied; 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. exec es 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 revoke para un permiso específico; permissions reset para todas.
  • Cerrar el auxiliar — elyra emulator kill para liberar la sesión dejando el dispositivo encendido, o elyra emulator shutdown para cerrarlo y apagar el dispositivo. Vea Comandos del emulador.

Próximos pasos