通过adb shell操作android真机的SQLite数据库
2015-04-10 13:48
441 查看
要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限。
另外,android系统其实就是linux的shell,这个应该大家都知道,不过一般情况下,在/system/xbin/目录下,
没有sqlite3命令,需要手动copy一个进去,通常情况下,需要两个文件
sqlite3、libncurses.so
解压后两个文件都有了,比如解压到:~/Downloads/sqlite3/
然后就是通过下面的这些个命令,一步一步来,基本就搞定了
ok,完成以上几步,应该没啥问题了,可以通过下面的命令进入android真机,并操作数据库:
几个在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
另外,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;"
相关文章推荐
- 通过adb shell操作android真机的SQLite数据库
- 在windows下使用cmd命令通过adb shell自动调用android模拟或真机的InstrumentRunner进行android 自动化测试
- Android精简小笔记(3):在adb shell中操作sqlite数据库的方法
- Java如何操作Android的adb shell 之 我自己在程序中的使用方法
- 通过adb shell操作WIFI
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- [Android基础]adb 通过wifi连接真机
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- execlp启动android进程命令窗口通过adb shell 进入android 的Linux命令界面,输入am -help看到如下信息: 我们可以通过命令启动android中的
- Android系统开发常用shell命令汇总+vim中复制操作+adb logcat过滤
- linux系统下android真机测试,adb shell查询真机数据库
- android真机 adb调试sqlite数据库
- 我的Android进阶之旅------>Android中通过adb shell input来模拟滑动、按键、点击事件
- Android DDMS无法删除文件夹,通过adb shell方式删除文件夹
- android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过
- pc(电脑)用java通过adb操作android手机发短信及中文乱码解决
- 【Android】通过adb shell + am启动android应用程序的方法
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)