要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限。

另外,android系统其实就是linux的shell,这个应该大家都知道,不过一般情况下,在/system/xbin/目录下,

没有sqlite3命令,需要手动copy一个进去,通常情况下,需要两个文件

sqlite3、libncurses.so

解压后两个文件都有了,比如解压到:~/Downloads/sqlite3/

然后就是通过下面的这些个命令,一步一步来,基本就搞定了

# 获得root权限
adb root
adb remount #拷贝sqlite3二进制文件到android真机中
adb push ~/Downloads/sqlite/sqlite3 /system/xbin/ #然后改一下这个文件的权限
adb shell chmod /system/xbin/sqlite3 #这个时候如果直接运行sqlite3还有问题,就需要拷贝libncurses.so到真机中
adb push ~/Downloads/sqlite/libncurses.so /system/lib/

ok,完成以上几步,应该没啥问题了,可以通过下面的命令进入android真机,并操作数据库:

#进入真机
adb shell
# 获得root权限
su #列出数据库
ls -R /data/data/*/databases

几个在android里常用的db数据库

/data/data/com.android.deskclock/databases/alarms.db

Android 5.0

/data/data/com.android.providers.contacts/databases/calendar.db
/data/data/com.android.providers.contacts/databases/contacts2.db
/data/data/com.android.providers.settings/databases/settings.db
/data/data/com.android.providers.telephony/databases/mmssms.db
/data/data/com.android.providers.telephony/databases/telephony.db

sqlite3
/data/data/com.whatsapp/databases/msgstore.db
"SELECT _id, data
FROM messages
WHERE
key_from_me='' AND
key_remote_jid LIKE '%XXXXXXXXXXX%'
ORDER BY _id DESC LIMIT ;" sqlite3
/data/data/com.android.providers.calendar/databases/calendar.db
"SELECT strftime('%H:%M', Instances.begin/1000, 'unixepoch'), calendar_displayname, calendar_id, title
FROM Instances, Events, Calendars
WHERE
Instances.event_id = Events._id AND
date(datetime(begin / , 'unixepoch')) = date('now') AND
Events.Calendar_id = Calendars._id AND
Calendar_id NOT IN(,)
ORDER BY Instances.begin ASC;"

通过adb shell操作android真机的SQLite数据库的更多相关文章

  1. 使用ADB无线连接Android真机进行调试

    使用ADB无线连接Android真机进行调试   其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...

  2. Appium appium 通过 adb 无线连接 Android 真机

    一.准备工作 1.准备一台或多台Android设备(如小米,华为),开启USB调试2.Android设备与电脑(Mac或者Windows)在同一个局域网内3.电脑安装好ADB工具 二.具体步骤 1.使 ...

  3. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  4. android真机自动化测试

    appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设 ...

  5. appium连接Android真机,并调试

    Android真机:华为pad2 Android和Windows连接同一个局域网 连接USB Android机设置: 打开USB调试 cmd>adb devices,显示Android序列号 , ...

  6. Android真机测试,连接到本地服务器的方法

    1. 前言 作为一名Android开发者,不管怎么说,都会经历使用Android真机来测试连接本地服务器这样的事情.这里所说的“本地服务器”大多数时候指的是:搭载有某种服务器软件的PC,例如搭载有To ...

  7. Unity Frame Debugger连接Android真机调试

    当用Profiler分析到不是代码导致的性能问题,当前场景最大的性能瓶颈是渲染时,或者自己写的Shader要调试时,都可以用Frame Debugger进行调试. 按下列步骤设置打包,既可以用Prof ...

  8. Unity Profiler连接Android真机调试

    Profiler在Editor模式就可以观看性能消耗,但是毕竟电脑配置高,跟手机真机环境还是有区别.实际开发中的优化还是推荐用真机测试. 因为IOS一般比Android手机的配置高,在Android平 ...

  9. adb 连接小米1S真机调试

    Ubuntu13.04 adb连接小米1S真机调试 搭好Android开发环境后,新建了一个Android Application工程.准备运行,问题来了,模拟器太慢了,怎么在真机上调试呢?百度之,G ...

随机推荐

  1. python基础--subprocess模块

    可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.* ...

  2. java基础43 IO流技术(输入字节流/缓冲输入字节流)

    通过File对象可以读取文件或者文件夹的属性数据,如果要读取文件的内容数据,那么我们就要使用IO技术. 一.输入字节流 输入字节流的体系:  -------| InputStream:所有输入字节流的 ...

  3. [USACO16OPEN]262144

    传送门啦 其实大家可以先看一下这个题 [USACO16OPEN]248 分析: 数据范围很奇特:n特别,a[i]特别——如果O(N^3)能接受就直接区间DP水过了,但是不行,于是考虑设计一个状态囊括a ...

  4. Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not foun

    一段时间没亲自建新项目玩乐,今天建立了一Maven project的时候发现了以下异常,Description Resource Path Location Type The superclass & ...

  5. wpf tooltip 样式自定义

    <Style BasedOn="{StaticResource {x:Type ToolTip}}" TargetType="ToolTip"> & ...

  6. delphi TComponent类(1)

    来自:http://blog.csdn.net/lailai186/article/details/7442383 ------------------------------------------ ...

  7. Python 安装 pytesser 处理验证码出现的问题

    今天这个问题困扰了我好久,开始直接用 pip install pytesseract 安装了 pytesseract 然后出现了如下错误 Traceback (most recent call las ...

  8. sublime text配置make工具

    sublime text配置make工具 Linux下许多项目是用makefile来管理的,是用gcc+make等方式来编译和运行. 在只有tty的场合或年代,使用vim或emacs是不二选择:但在L ...

  9. jquery 分页 下拉框

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. LR检查点

    LR检查点   之前使用LoadRunner工具,一直认为,在开发脚本中检查点的设置是最容易的,直到现在,有一段时间没碰LR,今天录制了一段脚本,设置了文本检查点,回放脚本后,总是报错,描述一下我设置 ...