安卓开发,adb shell 调试sqlite3数据库

简介:

安卓开发,adb shell 调试sqlite3数据库

在安卓中创建了sqlite3数据库,想要调试怎么办? 通过adb shell来进行查看。

第一步,将adb加入到系统变量中。

422101-20171020094912552-260116524.png

422101-20171020094918068-793170698.png

这样就可以在命令行中使用adb指令了。

输入adb shell,就可以连接电脑上的安卓模拟器,或者与电脑连接的手机了。

使用adb指令的时候,手机最好有root权限,不然好多指令都用不了。

422101-20171020095159881-588642124.png

422101-20171020095204287-1637124974.png

有root权限,才能进入su root指令模式,才能查看ls的内容。

每个app,都有一个目录,cd data/data/demo.jq.com.databasetest/databases 就可以进入到相应的数据库目录下面。

然后通过sqlite3指令查看数据库情况。

要想使用sqlite3,必须要确保手机上有sqlite3工具。

422101-20171020095702443-1612183216.png

如果没有,可以通过360手机助手,从电脑上传入到system/xbin目录下面。

还有个坑,要确保sqlite3的版本跟手机版本匹配,可以去网上下载相应的版本。

从虚拟机导出的sqlite3文件,push到手机里,然后操作数据库发现不能用! 
报:sh: /system/xbin/sqlite3: not executable: magic 7F45错误。

原来它是要使用跟你真机CPU型号相同的sqlite3文件,比如你的测试机是4.2版本,而你的studio的SDK是5.0以上版本,这样你从虚拟机里导出的sqlite3文件5.0版本,而你手机想对应的应该是4.0版本,那sqlite3文件会不匹配,所以报这个错误!只需要下载跟手机想符的sqlite3文件就可以了,5.0是一个分水岭!

这里面有个坑,就是当你通过su root进入的时候,输入sqlite3的指令会不显示。调试的时候,不要使用su root进入就可以了。

422101-20171020095845787-1212282577.png

使用adb shell的时候,有时候连接不上,原因有两种,一个是手机与电脑断开了。或者是360手机助手跟adb shell冲突了。可以进入进程管理中,把手机助手杀掉。

通过adb shell 就可以方便的调试sqlite3数据库了。

小结,这小小的调试,遇到了很多坑。一点点跳出来了,也是蛮有意思的。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7698030.html,如需转载请自行联系原作者

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
28天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
169 0
|
1月前
|
网络协议 关系型数据库 MySQL
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
|
10天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
1月前
|
Shell Linux 数据库
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
29 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
30 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
155 0
|
1月前
|
关系型数据库 数据库 C++
嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂(C/C++)
嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂(C/C++)
|
1月前
|
Java 关系型数据库 MySQL
Java调用shell脚本实现数据库备份功能
本篇文章主要介绍怎样使用Java程序,执行服务器上的数据库备份Shell脚本进行MySQL数据库的备份功能。
|
3天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库