Feeder
Feeder copied to clipboard
Android中如何方便直观地查看数据库
本文旨在抛出如题问题,并提供Feeder项目中的解决方案,希望大家一起讨论一起提升。
效果
在终端输入命令
弹出数据库浏览的可视化界面:
原理
通过adb将app对应的数据库文件拷贝到pc目录,然后调用pc上的数据库浏览软件打开。
实现
1 定义变量
PKG=me.zsr.feeder
DB=feed_db
2 权限更改,拷贝文件到外部方便读取的目录,如/sdcard/
adb shell "run-as $PKG chmod 755 /data/data/$PKG/databases"
adb shell "run-as $PKG chmod 666 /data/data/$PKG/databases/$DB"
adb shell "rm /sdcard/$DB"
adb shell "cp /data/data/$PKG/databases/$DB /sdcard/$DB"
3 清除旧数据库文件,将当前新的数据库文件从Android设备拉取到pc目录,这里放在~/Temp/下
rm -f ~/Temp/${DB}
adb pull /sdcard/${DB} ~/Temp/${DB}l
4 根据不同的操作系统,选择不同的数据库浏览软件打开
if [[ "$OSTYPE" == "linux-gnu" ]]; then
slitebrowser ~/Temp/${DB}
elif [[ "$OSTYPE" == "darwin"* ]]; then
open -a sqlitebrowser ~/Temp/${DB}
else
printf "Unknown os type : $OSTYPE"
fi
源码
完整脚本源码:inspect_db.sh 如果拉取了Feeder项目,也可以编译运行 Feeder app 到 Android 设备中,像效果图那样执行脚本,数据库界面就出来了。