Wenn Sie die Pfeiltasten sqlite3 bis adb shell
verwenden, anstatt den Cursor an die gewünschte Position zu bewegen oder die History aufzurufen, wird auf dem Bildschirm Folgendes angezeigt: ^[[A
, ^[[B
, ^[[C
, ^[[D
.
Ich verwende Mac OS X und habe Terminal-Emulatoren Terminal und iTerm ausprobiert.
Weiß jemand, wie man das repariert?
Um Bearbeiten und Verlauf in der Eingabe eines Konsolenprogramms zu erlauben, muss dieses Programm mit der readline
-Bibliothek verknüpft sein.
Das Tool sqlite3
unterstützt readline, aber unter Android wurde die readline-Unterstützung deaktiviert.
(Wahrscheinlich weil readline nur unter der GPL lizenziert ist.)
Eine Problemumgehung wäre die Verwendung einer lokalen Version von SQLite mit Readline-Unterstützung.
Kopieren Sie eine Datenbankdatei von Ihrem Gerät auf Ihren lokalen Rechner:
adb pull <database-file-on-device>
Verwenden Sie Ihre lokale Version von SQLite, um auf die Datenbankdatei zuzugreifen:
sqlite3 <database-file-on-local>
Wenn Sie Änderungen vorgenommen haben, können Sie sie auf das Gerät übertragen. Kopieren Sie Ihre lokale Datenbankdatei von Ihrem lokalen Rechner auf Ihr Gerät:
sqlite3 <database-file-on-local> <database-file-on-device>
Sie können die vorherige Befehlsfunktion in der adb-Shell verwenden. Also nur adb Shell. Wechseln Sie dann in das Verzeichnis / data / data // database. Von hier aus (zum Beispiel): sqlite3 "select * from"
Dann können Sie den Pfeil nach oben verwenden, um diesen Befehl zu wiederholen. Eine Art Hack, aber viel besser, als den Befehl in der interaktiven Eingabeaufforderung von sqlite3 erneut eingeben zu müssen.