【问题标题】:sqlite3: not foundsqlite3:未找到
【发布时间】:2011-12-14 05:47:32
【问题描述】:

我正在尝试使用此处描述的过程访问我设备上的 sqlite 数据库:How can i see SQLite Database (No emulator)?

但是,我一直找不到 sqlite3。 我假设我打算在行首输入带有井号 (#) 的命令。 我试过了,什么也没得到。 没有它,我会收到错误消息。

sqlite3.exe 文件肯定在那里并且在路径中。

我必须安装一些东西吗?

【问题讨论】:

标签: android sqlite adb


【解决方案1】:

一些制造商在交付设备时未安装 sqlite。如果设备具有 arm 处理器,您可以将 sqlite 程序从模拟器复制到您的设备。

  1. 启动模拟器并使用android-sdk中platform-tools中的adb命令

    adb pull /system/xbin/sqlite3

  2. 在本教程之后以读/写方式安装设备的系统分区:

    http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html

  3. 使用adb 命令将 sqlite3 文件复制到您的设备

    adb push sqlite3 /system/xbin/

重启设备后,sqlite3 命令应该可以工作了。

编辑(从链接页面复制 - 以防链接失效)。第 2 步的说明如下:

adb shell
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

“将 /dev/block/mtdblock3 和 /system 替换为适当的设备路径和挂载点,从 cat /proc/mounts 获得”

【讨论】:

  • 试过了,但是 pull 命令失败了,因为它找不到 sqlite3 文件。它不在xbin中。我在哪里可以找到它?
  • 请确保在执行 adb pull 时物理设备连接并且您的模拟器正在运行!
  • 我还是做错了什么。我做了 cat /proc/mounts 并从“/dev/block/stl9 /system”行中获取了值。然后我输入“mount -o remount,rw -t yaffs2 /dev/block/st19 /system”。我现在如何复制?我从 adb shell 中尝试过,但它不接受他的命令。当我退出 shell 然后输入它声称它是只读的命令时。
  • 也许您可以先使用 push 命令将 sqlite3 文件复制到 sd 卡。然后你去adb shell,输入su,然后输入类似:mv /mnt/sdcard/sqlite3 /system/xbin
  • 好的。所以我设法推送到/mnt/sdcard。现在,当我进入 adb shell 并尝试“su”时,它无法识别该命令。
【解决方案2】:
  1. 转到 Play 商店 --> 搜索 Titanium Backup 并安装它
  2. adb shell
  3. su
  4. cp /data/data/com.keramidas.TitaniumBackup/files/sqlite3 /system/xbin/
  5. cd /system/xbin/
  6. chmod 755 sqlite3
  7. adbd reboot(以防万一)
  8. 享受结果

【讨论】:

    【解决方案3】:

    对于像我一样无法使用 Sqlite3 的人,我使用了一种解决方法:

    cat srcfile> / mnt / sdcard / dstfile
    

    有了这个,您可以将文件放入外部 .db 管理器中。

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 2014-03-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      相关资源
      最近更新 更多