解决方法:
1)挂载 /system目录为可读写
>adb shell
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
2)把sqlite3 push到设备中
> adb push sqlite3 /system/xbin
3)修改权限
# chomd 4755 /system/xbin/sqlite3
// 非常非常重要的测试 试着执行sqlite3看是否能执行,如果不能执行则需要把sqlite3的依赖库文件再push到设备中, 如果sqlite3可以正常执行则不用push libncurses.so(此库文件是从2.3.5中提取,不保证都能用,经测试4.0.3上可用.如果不肯用,大家方可自行创建虚拟机,从虚拟机中提取)
# sqlite3
> adb push libncurses.so /system/lib
4)还原 /system为只读
#mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
原因: sqlite3 为一个可执行程序,在system/xbin/下面,某些rom 不带这个东西,导致没有该工具。
解决方法:拷贝一个sqlite3进去。
步骤:
1) 让/system文件夹可读写
$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
2)打开另外一个有sqlite3(/system/xbin/sqlite3)的模拟器或者是手机,把sqlite3导出,并把它导入到没有sqlite3机器的/system/xbin下面。(可以使用DDMS完成这一操作)
$ adb push sqlite3 /system/xbin
3)修改sqlite3的权限
# chmod 4755 /system/xbin/sqlite3
4)欢迎/system为只读文件
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
5)现在你就可以使用sqlite3命令了
# sqlite3 /data/data/com.mobisync.android/databases/sync.db SQLite version 3.6.22Enter ".help" for instructions sqlite> .tables android_metadata file sync_status