【问题标题】:Why can't I push sqlite into Android using adb command?为什么我不能使用 adb 命令将 sqlite 推送到 Android 中?
【发布时间】:2012-04-04 07:04:16
【问题描述】:

我有一个根植的 Nexus S,它没有安装 Sqlite,所以我用谷歌搜索它,发现我需要使用 这个命令:

adb push sqlite3 /sdcard/

但是它给了我这个错误:

failed to copy 'sqlite3' to '/sdcard//sqlite3': Read-only file system

这意味着 /system 是只读的。然后我搜索它,发现我需要将我的 /system 文件夹重新挂载为 rw。我在 adb shell 中使用了这个命令:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock5 /system

我仍然无法推送 Sqlite3,它在命令行窗口中产生与以前相同的错误。 然后我输入了

root@android:/ # mount

但我只能看到 /system 的安装方式不同:

/dev/block/platform/s3c-sdhci.0/by-name/system /system ext4 rw,relatime,barrier=
1,data=ordered 0 0

如何将我的系统文件夹挂载为“rw”并将 sqlite3 推送到我的 Android 手机中?

【问题讨论】:

    标签: android sqlite mount


    【解决方案1】:

    也许您可以尝试其他位置。在创建 tmp 文件夹后,我用来 root 手机的脚本将其内容放在 /data/local/ 上:

    adb shell "cd /data/local && mkdir tmp"
    adb push sqlite3 /data/local/tmp/.
    adb shell "chmod 755 /data/local/tmp/sqlite3"
    adb shell "cp /data/local/tmp/sqlite3 /system/bin/sqlite3"
    adb shell "cd /data/local/tmp && rm *"
    

    【讨论】:

      【解决方案2】:

      其实这两个答案都是必填的。如果我们只设置

      adb shell "cd /data/local && mkdir tmp"
      adb push sqlite3 /data/local/tmp/.
      adb shell "chmod 755 /data/local/tmp/sqlite3"
      adb shell "cp /data/local/tmp/sqlite3 /system/bin/sqlite3"
      adb shell "cd /data/local/tmp && rm *"
      

      我们有同样的错误

      Read-only file system
      

      所以,在将 sqlite3 复制到 /system/bin/sqlite3 之前,我们必须添加以下行:

      mount -o rw,remount -t yaffs2 /dev/block/mtdblock5 /system
      

      【讨论】:

        猜你喜欢
        • 2014-01-27
        • 1970-01-01
        • 1970-01-01
        • 2019-04-25
        • 2012-09-03
        • 1970-01-01
        • 2023-02-06
        • 2017-01-02
        • 1970-01-01
        相关资源
        最近更新 更多