¿Cómo muestro un mensaje de `adb shell` (o un script de shell)?

Espero que sea algo como

adb shell am start SomethingArcane ... "Hello, world"

y el cuadro de mensaje aparece en la pantalla, diciendo "Hola, mundo".

Respuestas (2)

Solución alternativa: DirectFB

Con DirectFB y acceso raíz, puede mostrar el texto en la pantalla directamente, sin Android en absoluto.

Implementé un programa para esto: directfbtext .

( echo "Hello, world"; echo "FLIP"; sleep 2; echo "QUIT" ) |  /h/bin/directfbtext --dfb:fbdev=/dev/graphics/fb0  --dfb:no-vt  /system/fonts/DroidSans-Bold.ttf 30 120 200 255

Tenga en cuenta que probablemente no sea tan fácil hacer que DirectFB funcione en Android, pero ya lo tengo configurado.


Actualización Por solicitud del usuario, he creado y probado una versión preconstruida "portátil" de directfbtext. Configuración y funcionamiento:

  1. Descomprima directfbtext_deps.tar.gz en /data/local/tmp/;
  2. Iniciar adb shell, ir a root ( su);
  3. cd /data/local/tmp/directfbtext;
  4. Crear enlace simbólico de /usr/lib/arm-linux-gnueabi/a /data/local/tmp/directfbtext:

    # mount -o remount,rw / /
    # mkdir /usr
    # mkdir /usr/lib
    # ln -s /data/local/tmp/directfbtext /usr/lib/arm-linux-gnueabi
    
  5. Asegúrese de que la pantalla esté encendida

  6. LD_LIBRARY_PATH=. ./ld-linux.so.3 ./directfbtext --dfb:fbdev=/dev/graphics/fb0 --dfb:no-vt /system/fonts/DroidSans-Bold.ttf --dfb:system=fbdev 30 120 200 255
  7. Escriba algún texto, seguido de una línea que diga "FLIP";
  8. Observe el texto visible en la pantalla;
  9. Escriba "QUIT" para salir de directfbtext;
  10. Interactuar con el dispositivo, para que actualice la pantalla y elimine las fallas restantes causadas por DirectFB.
¿Quizás puedas decir qué necesita ser configurado?
Lo principal es probablemente un Debian en chroot.
¿Podría proporcionar un binario? (¿O instrucciones sobre cómo compilar con NDK?)
Desafortunadamente, los binarios estáticos son difíciles de obtener con DirectDB. El programa se creó sin usar el NDK de Android y depende de las bibliotecas de Debian. Intentaré piratear la versión "semi-portátil" ahora.
@user1147688, Listo. Puedes intentar probarlo.

FBTrueType-android

He escrito un programa nativo de Android FBTrueType-android para imprimir texto de fuente TrueType directamente en la pantalla del dispositivo usando ADB.

Tiene muchas características que incluyen borrar el framebuffer (pantalla) y cambiar la fuente *.ttf utilizada, el color de la fuente, el tamaño de la fuente, las posiciones x e y.

También puede ejecutarse con Zygote (interfaz de Android) y puede capturar el framebuffer de Zygote en pantalla completa.

Configuré un repositorio de github para él al que puede acceder aquí , alternativamente, puede clonar el repositorio de esta manera:

$ git clone https://github.com/mikelinux/fbtruetype-android.git

Deberá estar configurado para compilar de forma cruzada para ARM, el archivo README tiene instrucciones completas para hacerlo.

Disfrute, y por favor publique sus comentarios.

Miguel