用adb shell 打开手机上的一个database文件,提示 “sqlite3: command not found”

产生原因:在手机上 /system/xbin 文件夹下面没有sqlite3文件

解决办法:一般在模拟器下面是有的,所以要做的就是从模拟器中将sqlite3拖到手机设备上。

1. 首选挂载手机,使 /system/  成为可读写状态 (rw)


$ adb shell

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


2. 打开另外一个终端,将sqlite3文件从目标目录拖到 /system/xbin 目录下面


$ adb push E:/sqlite3 /system/xbin

注:前提是我将模拟器里面的sqlite3文件放在E盘的根目录下面。现在查看手机的 /system/xbin 目录下面就发现有sqlite文件。  



3. 现在重新打开上一个终端,改它的二进制许可;并且挂载更改 /system/ 为只读状态 (ro)。


# chmod 4755 /system/xbin/sqlite3

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system


至此,我们就可以用sqlite3 查看手机上的数据库文件。


# sqlite3 /data/data/com.mobisync.android/databases/sync.db

SQLite version 3.6.22

Enter ".help" for instructions

sqlite> .tables

android_metadata  file              sync_status   


注:这里有英文的解决方法,Why do I get a “sqlite3: not found” error on a rooted Nexus One when I try to open a database using the adb shell?


你可能感兴趣的:(用adb shell 打开手机上的一个database文件,提示 “sqlite3: command not found”)