3

我有一个扎根的 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 手机中?

4

2 回答 2

3

也许您可以尝试其他位置。在创建 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 *"
于 2012-04-04T07:08:45.540 回答
3

事实上,这两个答案是强制性的。如果我们只设置

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
于 2013-04-30T08:38:19.573 回答