简介
最近好久都没有更新过博客了, 感觉没有什么特别好的可以更新那么我想何不更新一些自己学习的问题 so 有了这篇文章
这段时间一直在看第一行代码 第二版这本书, 在看到第六章数据存储全方案 - 详解持久化技术的时候按照书中的命令输入
sqlite3 XXX 出现 sqlite3 not found 的问题
原因
谷歌了一些文章大致意思就是手机没有 sqlite3 那么就需要我们自己下载到电脑, 通过数据线传到手机上然后进行调试
方案
find 一下相关文件, 确定到底需要安装哪些内容, 如果已经找到则不需要安装对应文件
- root@hwH60:/ # find . -name "sqlite3"
- root@hwH60:/ # find . -name "libsqlite.so"
- root@hwH60:/ # find . -name "libsqlite_jni.so"
ok! 上一步不用也行哈哈哈, 我们现在退出和手机的 adb
- root@hwH60:/ # exit
- shell@hwH60:/ $ exit
从 https://files.cnblogs.com/files/jiangxinnju/sqlite3.zip 处下载文件并解压
将相关文件放到内置存储卡中, 为什么不直接放到 / system/xbin / 和 / system/lib / 可以参考
http://www.cnblogs.com/jiangxinnju/p/8186390.html
下面是进行移动
首先需要 cd 到解压的目录然后进行如下操作 (这是放到了手机内置存储的
/storage/emulated/0/
目录中)
- PS D:\> adb push sqlite3 /storage/emulated/0/
- PS D:\> adb push libsqlite.so /storage/emulated/0/
- PS D:\> adb push libsqlite_jni.so /storage/emulated/0/
OK! 我们继续进入 adb, 手机授权电脑 root 权限
- PS D:\> adb shell
- shell@hwH60:/ $ su - root
为什么需要重新挂载 / system 分区可以参考 http://www.cnblogs.com/jiangxinnju/p/8186390.html
root@hwH60:/ # mount -o remount rw /system
将需要的文件从内置存储卡中转移到目标目录
- root@hwH60:/ # cp /storage/emulated/0/sqlite3 /system/xbin/ <
- root@hwH60:/ # cp /storage/emulated/0/libsqlite.so /system/lib/
- root@hwH60:/ # cp /storage/emulated/0/libsqlite_jni.so /system/lib/
修改对应文件的权限
- root@hwH60:/ # chmod 4755 /system/xbin/sqlite3
- root@hwH60:/ # chmod 0644 /system/lib/libsqlite.so
- root@hwH60:/ # chmod 0644 /system/lib/libsqlite_jni.so
执行 sqlite3 命令, 发现已经可以使用
- root@hwH60:/ # sqlite3
- SQLite version 3.7.11 2012-03-20 11:35:50
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> .exit
好了, 现在开始擦屁股咳咳咳.....
root@hwH60:/ # exit
删除内置存储卡中的文件
- shell@hwH60:/ $ rm -rf /storage/emulated/0/sqlite3
- shell@hwH60:/ $ rm -rf /storage/emulated/0/libsqlite.so
- shell@hwH60:/ $ rm -rf /storage/emulated/0/libsqlite_jni.so
来源: https://bingyishow.top/Android-studio/71.html