5 votes

Comment afficher un message à partir du shell `adb' (ou d'un script shell) ?

Je m'attends à ce que ce soit quelque chose comme

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

et la boîte de message apparaît à l'écran, disant "Hello, world".

2voto

Flame Points 1138

Solution de fortune : DirectFB

Avec DirectFB et l'accès Root, vous pouvez afficher le texte à l'écran directement, sans Android du tout.

J'ai mis en place un programme pour cela : texte directfb .

( 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

Notez qu'il n'est probablement pas si facile de faire fonctionner DirectFB sur Android, mais il se trouve que je l'ai déjà configuré.


Mise à jour A la demande d'un utilisateur, j'ai créé et testé une version pré-construite "portable" de directfbtext. Mise en place et fonctionnement :

  1. Déballez directfbtext_deps.tar.gz sur /data/local/tmp/ ;

  2. Début adb shell , go Root ( su ) ;

  3. cd /data/local/tmp/directfbtext ;

  4. Créer un lien symbolique à partir 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. Assurez-vous que l'écran est allumé

  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. Tapez du texte, suivi d'une ligne qui indique "FLIP" ;

  8. Observez le texte visible sur l'écran ;

  9. Tapez "QUIT" pour quitter directfbtext ;

  10. Interagissez avec l'appareil, afin qu'il mette à jour l'affichage et élimine les problèmes restants causés par DirectFB.

2voto

Mikelinux Points 21

FBTrueType-Android

J'ai écrit un programme Android natif FBTrueType-Android pour imprimer du texte en police TrueType directement sur l'écran de l'appareil à l'aide de l'ADB.

Il possède de nombreuses fonctionnalités, notamment l'effacement du framebuffer (affichage) et la modification de la police *.ttf utilisée, de la couleur de la police, de la taille de la police et des positions x et y.

Il peut également fonctionner avec Zygote (interface Android) en cours d'exécution et il peut capturer le framebuffer de Zygote en plein écran.

J'ai mis en place un dépôt github pour cela auquel vous pouvez accéder. aquí Alternativement, vous pouvez cloner le dépôt comme ceci :

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

Vous devrez être configuré pour effectuer une compilation croisée pour ARM, le fichier README contient des instructions complètes à ce sujet.

Profitez-en, et n'hésitez pas à nous faire part de vos commentaires.

Mike

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X