码迷,mamicode.com
首页 > 移动开发 > 详细

android sqlite3程序不存在的解决办法(转)

时间:2014-05-26 16:07:29      阅读:516      评论:0      收藏:0      [点我收藏+]

标签:android   style   c   class   blog   code   

在android开发中,在使用命令行操作数据库sqlite时,有时候会遇到sqlite3 not found的问题。这是因为你的手机没有安装sqlite3程序。解决办法如下(两种办法结合起来解释的更清楚!!!):

 

方法1:

sqlite3 not found的解决办法(转)

在Android开发方面,我是小白,起步没多久。最近用到了sqlite本地缓存数据,我希望像mysql一样通过命令行查看建立的表以及表中的数据,于是用adb shell进入,敲入sqlite3,提示 sqlite3: not found。 网上搜索了一下,网上的文章倒是不少,但如果直接复制人家的命令的话,发现仍然报错,于是自己研究了下,总结如下,希望遇到同样问题的朋友少走弯路:

 

 

1. 需要获取手机的root权限,方法很多了,我用的是360一键Root,有时也用百度一键Root

 

 

2. 从其他手机拷贝sqlite3文件到PC,我是从模拟器copy出来的,为方便大家,附件就有,可以直接下载哈

 

 

 

 

3. 进入手机建立个临时目录

开始---cmd---adb shell---mkdir /mnt/sdcard/tmp,然后退出到cmd下

adb push D:/temp/sqlite3 /mnt/sdcard/tmp

 

 

4. copy文件到/system/xbin

adb shell

su (这一步报permission denied的话是Root没有成功,重新Root吧)

cp /mnt/sdcard/tmp/sqlite3 /system/xbin/sqlite3  (注意:这一步可能报两种错,第一种: cp not found,将命令换成cat /mnt/sdcard/tmp/sqlite3 > /system/xbin/sqlite3, 第二种:read-only file system,说明/system是只读的,此时需要重新mount,改为可读写,然后继续拷贝)

 

 

重新mount方法如下:

mount  (从屏幕列出来的mount数据中找到/system的mount信息,空格隔开的,第一列表示设备名,第二列表示目录,第三列表示文件系统,第四列表示权限。网上其他教程在这一步都直接列出了他们的命令,由于设备名和文件系统不一样,所以执行不成功)

mount命令为:mount  -o  remount,rw  -t  第三列信息  第一列信息  /system

 如下图,注意看圈红的地方:


bubuko.com,布布扣
 

 

mount成功后,再执行上面说的文件copy的步骤,然后就能copy到 /system/xbin目录下了

需要改下文件的权限,命令: chmod 4755 /system/xbin/sqlite3

最后运行下,sqlite3,发现成功了吧

 

 

方法2:

 

原因: 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

 

android sqlite3程序不存在的解决办法(转),布布扣,bubuko.com

android sqlite3程序不存在的解决办法(转)

标签:android   style   c   class   blog   code   

原文地址:http://www.cnblogs.com/kjlmicro/p/3746184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!