通过adb shell操作android真机的SQLite数据库

要通过命令行直接操作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 4755 /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='0' AND
key_remote_jid LIKE '%XXXXXXXXXXX%'
ORDER BY _id DESC LIMIT 1;"

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 / 1000 , 'unixepoch')) = date('now') AND
Events.Calendar_id = Calendars._id AND
Calendar_id NOT IN(4,6)
ORDER BY Instances.begin ASC;"
复制代码

 

posted @   IAmAProgrammer  阅读(2006)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2013-04-10 JLINK SWO Viewer
2013-04-10 使用 Printf via SWO/SWV 输出调试信息
2013-04-10 ARM JTAG SWD SWO SWV
点击右上角即可分享
微信分享提示