在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
如下图,注意看圈红的地方:
mount成功后,再执行上面说的文件copy的步骤,然后就能copy到 /system/xbin目录下了
需要改下文件的权限,命令: chmod 4755 /system/xbin/sqlite3
最后运行下,sqlite3,发现成功了吧
注意:有些手机可能还需要导入sqlite的依赖库,我没有遇到过,就不叙述了,方法跟上面差不多。
相关推荐
总的来说,解决“sqlite3:not found”的问题需要对Linux环境、Android系统以及SQLite工作原理有深入的理解。开发者需要检查环境配置、确保SQLite的正确安装,以及考虑Android版本和应用程序的具体情况。同时,利用...
手机调试app时,使用adb调试数据库sqlite,输入命令sqlite3,提示:sqlite3 not found。将此文件导入/system/XBIN目录下,并赋予执行权限。
sqlite3文件(用于解决安卓真机中sqlite3:not found的错误) http://blog.csdn.net/hust_twj/article/details/52212558
综上所述,"sqlite3 not found"的解决方法主要是将sqlite3命令行工具推送到设备并赋予执行权限,对于开发和调试Android应用来说,理解SQLite的工作原理和如何与之交互是至关重要的。同时,合理利用Android提供的开发...
1.sqlite not found 2.CANNOT LINK EXECUTABLE: cannot locate symbol "sqlite3_enable_load_extension" referenced by "sqlite3" 适用于android 4.4 API 19版本,使用方法 1. 包含3个文件 sqlite3,libsqlite_jni....
下过别人的sqlite3,解决了sqlite not found 问题,但是又出现了CANNOT LINK EXECUTABLE: cannot locate symbol "sqlite3_enable_load_extension" referenced by "sqlite3"... ,所以自己创建与4.3版本的模拟器,导...
解决方法: 1)挂载 /system目录为可读写 >adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system 2)把sqlite3 push到设备中 > adb push sqlite3 /system/xbin
1.sqlite not found 2.CANNOT LINK EXECUTABLE: cannot locate symbol "sqlite3_enable_load_extension" referenced by "sqlite3" 适用于android 5.0 API 21版本,使用方法 1. 包含3个文件 sqlite3,lib sqlite_jni...
解决缺少sqlite3的问题,内附说明
为了解决"sqlite3 not found"的问题,我们需要确保adb(Android Debug Bridge)能够找到sqlite3的执行文件。在这个压缩包文件中,包含两个关键文件:`libncurses.so`和`sqlite3`。`libncurses.so`是Linux下的一个库...
在压缩包文件"sqlite3以及所依赖的文件"中,可能包含了sqlite3的二进制文件和必要的库文件,解压后通过ADB推送到设备,然后按照上述步骤设置环境,可以解决"sqlite3: not found"的问题。此外,对于开发者来说,理解...
- `SQLITE_NOTFOUND`: 表或记录未找到(内部使用) - `SQLITE_FULL`: 插入失败因为数据库已满 - `SQLITE_CANTOPEN`: 无法打开数据库文件 - `SQLITE_PROTOCOL`: 数据库锁定协议错误 - `SQLITE_EMPTY`: 数据库表...
描述中提到的"sqlite3 not found"错误,这通常是由于系统中没有安装SQLite3,或者环境变量PATH未正确设置,使得系统无法找到SQLite3可执行文件。此外,"提示libncurses.so匹配不上"则意味着SQLite3在运行时依赖的...
cmd操作时报错sqlite3 not found ,需要此文件配合使用
在提供的压缩包子文件名称“sqlite3_not_found安卓”中,可能包含了修复这个问题所需的sqlite3可执行文件和其他相关资源。解压这个文件,按照上述步骤操作,应该能够解决“not found”的问题。 总的来说,理解和...
解决这个问题的方法是确保你的Python环境已经安装了`nltk`和其依赖的`sqlite3`库。你可以使用以下命令来安装: ```bash pip install nltk ``` 如果上述操作后仍然遇到问题,可能需要更新或重新安装nltk: ```bash...
13. SQLITE_NOTFOUND (12): 内部使用,表示表或记录不存在。 14. SQLITE_FULL (13): 数据库已满,无法再插入数据。 15. SQLITE_CANTOPEN (14): 无法打开数据库文件,可能是因为文件不存在或权限问题。 16. SQLITE_...
SQLITE_NOTFOUND = 12; (Internal Only)表或记录不存在 SQLITE_FULL = 13; 数据库满插入失败 SQLITE_CANTOPEN = 14; 不能打开数据库文件 SQLITE_PROTOCOL = 15; 数据库锁定协议错误 SQLITE_EMPTY = 16; ...