J'ai récemment mis à niveau vers le nouveau SDK Android et j'ai remarqué quelque chose de très très dérangeant. Il semble qu'il ne soit plus possible d'utiliser l'historique de la commande dans la coquille. Vous remarquez de la même chose? La coquille Android me semble horrible, mais au moins, dans le dernier SDK, j'ai eu l'historique de la commande. Maintenant, il semble que vous appuyiez sur la flèche haut / bas, entraînant des codes écrits sur l'invite (quelque chose comme ^ [[A, ^ [[B etc.). J'ai essayé de lire un peu autour, mais j'ai trouvé très peu demandant cela une réponse zéro. N'importe quelle idée pourquoi cela se produit et comment résoudre ce problème? P>
3 Réponses :
Si Ctrl kbd> - p kbd> vous donne toujours des entrées d'histoire antérieures, alors il est possible que les touches fléchées soient non liées pour une raison quelconque. Essayez ceci: Si cela fait fonctionner les touches fléchées, vous pouvez le rendre persistant en ajoutant ces deux lignes à / etc / istrc code> ou
~ / .Inputtrc code>: p>
Enfin, je l'ai utilisé que la coquille Android n'utilisait pas LectureLine, mais je ne me souviens donc pas de fournir une forme d'édition de ligne de commande, y compris des flèches pour l'histoire.
@Gilles: Je ne l'ai pas utilisé depuis un moment moi-même, mais je basais juste ma réponse sur ce que l'OP a dit.
Ctrl-P me donne l'histoire mais pas dans la coquille Android. Mais, où dois-je essayer la commande Bind? Dans la coquille Linux? J'ai essayé là-bas et il est impossible d'utiliser les flèches pour vous déplacer dans l'histoire. Si j'essaie dans la coquille Android, la commande ne semble pas exister. Une idée?
Vous pouvez exécuter la coquille à l'intérieur rlwrap : Je préfère l'exécuter dans un tampon d'Emacs Shell moi-même, je le recommande si vous n'êtes pas allergique aux EMACS. Emacs est également agréable pour exécuter adb logcat code>: vous obtenez une historique interrogeable et les messages sont mis à jour au fur et à mesure de leur arrivée, et vous pouvez facilement mettre des motifs intéressants en couleur (
MX Highlight-REGEXP CODE > et amis). p> p>
J'ai essayé la commande que vous m'avez donnée mais je ne vois aucun changement. La coquille est exactement identique. Peut-être que j'ai fait quelque chose de mal? Merci!
@LUCA: J'obtiens une édition de ligne de commande de base avec adb et l'émulateur du SDK en pain d'épice sous Linux, et rlwrap code> donne une édition LIVELLINE. Je semble vous rappeler
rlwrap code> ne fonctionne pas avec une version de SDK précédente, mais je ne me souviens pas de quelle version.
Je ne peux pas comprendre ... je viens de l'essayer encore mais je ne vois vraiment aucun changement.
Si vous parlez de périphérique réel (pas d'émulateur), vous devriez essayer des firmwares non officielles, telles que cyanogenmod - Il inclut beaucoup de meilleurs outils binaires, tels que beaucoup plus de shell d'espoir, un ensemble sain d'outils UNIX réguliers, SSH Server, etc. P>
Si vous parlez d'émulateur, vous pouvez extraire ces fichiers binaires des firmwares et la pousser à l'émulateur tel quel (en utilisant une image de carte mémoire). P>
Je parle d'un appareil réel et ce problème n'est pas lié au micrologiciel. Cela a commencé lorsque j'ai mis à niveau vers le dernier SDK 2.3 sur le même appareil.
Quoi qu'il en soit, je viens de vérifier et cela se produit également sur l'émulateur.
OK, je comprends. Eh bien, au moins vous pouvez essayer de connecter à l'aide de SSH (I.E. Dropbear SSH Server sur votre périphérique et votre client SSH à partir de votre boîte de développement) comme solution de contournement.
Je ne sais pas si les avantages de cette solution de contournement peuvent justifier l'effort ... Je flase le périphérique très souvent ... est-il simple de porter le serveur à Android? Comment puis-je le recompiler? Merci!
Heureusement, pas le cas dans Android 7 (et probablement plus tôt).