从adb shell使用sqlite3时,光标键不起作用

Tan*_*lez 11 sqlite android readline adb

当使用通过sqlite3的adb shell箭头键,而不是将光标移动到期望的位置或召唤历史设施,以下是显示在屏幕上:^[[A,^[[B,^[[C,^[[D.

我正在使用Mac OS X,我尝试过TerminaliTerm终端模拟器.

有人知道如何解决这个问题吗?

CL.*_*CL. 6

要允许在控制台程序的输入中进行编辑和历史记录,该程序必须与readline库链接.

sqlite3工具确实支持readline,但在Android上,readline支持已被禁用.(可能是因为readline仅在GPL下获得许可.)


cho*_*bok 6

解决方法是使用具有readline支持的本地SQLite版本.

  1. 将数据库文件从设备复制到本地计算机:
    adb pull <database-file-on-device>

  2. 使用本地版本的SQLite访问数据库文件:
    sqlite3 <database-file-on-local>

  3. 如果您进行了更改,则可以将它们传输到设备.将本地数据库文件从本地计算机复制到您的设备:
    sqlite3 <database-file-on-local> <database-file-on-device>


Kha*_*nad 5

您可以在 adb shell 中使用之前的命令功能。所以只是adb shell。然后 cd 到 /data/data//databases 目录。从这里运行(例如): sqlite3 "select * from "

然后您可以使用向上箭头重做该命令。有点像 hack,但比在 sqlite3 交互式提示中重新键入命令要好得多。