关于Android中sqlite3的使用与导入(解决sqlite3: not found))

来源:互联网 发布:做个淘宝详情多少钱 编辑:程序博客网 时间:2024/05/14 11:53

先讲讲如何从cmd控制台进入sqlite3 命令操作的过程

C:\Users\lenovo>adb shell          如果没有配置环境的话,需要进入sdkplatform-tools目下才能操作

 

shell@HM2013022:/ $ su            进入adb shell$表示的访客用户,su切换成管理员用户(需要手机root

su                                变成管理员后,标志变成#

root@HM2013022:/ # cd data/data   cd打开文件夹(同windows命令),进入data目录下的data目录

cd data/data

root@HM2013022:/data/data # ls    ls 查看当前目录下文件和文件夹(windowsdir

ls

com.baidu.BaiduMap

com.baidu.browser.apps

com.baidu.input_mi

com.baidu.map.location

com.chaozh.iReaderFree

com.cleanmaster.miui_module

com.dotgears.flappybird

....一大堆包

 

 

root@HM2013022:/data/data # cdcom.gw.app       这些包也是文件夹,这里com.gw.app是我应用的包名

cd com.gw.app

root@HM2013022:/data/data/com.gw.app #ls       查看文件,databases是数据库存放的位置

ls

app_galhttprequest_cache

cache

databases

files

lib

shared_prefs

root@HM2013022:/data/data/com.gw.app # cddatabases  打开数据库存放的文件夹

cd databases

root@HM2013022:/data/data/com.gw.app/databases# ls  下面这些都是数据库文件,需要用sqlite3来操作

ls

download.db

download.db-journal

galhttprequest_database

galhttprequest_database-journal

gbd.db

gbd.db-journal

gw_student_app

gw_student_app-journal

increment.db

increment.db-journal

pushext.db

pushext.db-journal

pushsdk.db

pushsdk.db-journal

root@HM2013022:/data/data/com.gw.app/databases# sqlite3 gw_student_app 

sqlite3 gw_student_app          该命令可以进入到gw_student_app数据库操作,这里可能会报sqlite3命令找不到

SQLite version 3.7.11 2012-03-20 11:35:50

Enter ".help" for instructions

Enter SQL statements terminated with a";"

sqlite>

 

 

以下是通过电脑adbshell命令导入sqlite3文件到手机中

 

如果报sqlite3找不到(用adb shell进入,敲入sqlite3,提示 sqlite3: not found)

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

2.      从其他手机拷贝sqlite3文件到PC,我是从模拟器copy出来的,也可以从网上下载

3.  进入手机建立个临时目录(其实就是放到你的sd卡上)

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

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

4.  copy文件到/system/xbin

a)   adb shell

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

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

5.  重新mount方法如下:

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

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

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


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

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

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

 

0 0
原创粉丝点击