我是学生,我想学习在android上使用sqlite3。我的朋友试图运行android模拟器并开始输入命令adb -e shell
,su
,浏览模拟器存储,然后运行sqlite3 mydb.db
。一切都很顺利。但是每当我们尝试使用外部物理Android设备运行adb时,运行sqlite mydb.db
都是个问题。 ADB无法在某种程度上找到sqlite可执行文件。我已经根植了我的设备并授予adb权限,但它似乎还没有找到sqlite可执行文件。
我做了一些研究。我在另一个post中发现一些android设备没有内置的sqlite。所以我尝试研究在android系统上安装sqlite3的任何可行方法。我找到了this。其中一个答案显示this。我已经尝试了,但安装程序对我不起作用。在同一个问题中,选择的答案是从模拟器(支持一个)中提取sqlite并将其推送到我的设备。
这种方法的问题是我们的资源有限。我正在使用的笔记本电脑只有1 GHz CPU和3 GB RAM。由于我的CPU速度,Android Studio甚至不让我运行模拟器。从可以运行模拟器的更快更好的笔记本电脑复制(可以使用sqlite3模拟设备)只是我最后也是最后一个选项。还有其他办法吗?
答案 0 :(得分:1)
对于将来的学生,我会回答这个问题
下载适用于Android的here编译的sqlite3
通过adb push sqlite3 /data/local/tmp
授予通过adb shell && cd /data/local/tmp && chmod +X sqlite3
执行的权限
然后运行
/data/local/tmp/sqlite3 /data/data/com.app/databases/some_database.db "SELECT name FROM sqlite_master WHERE type='table'"