Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android中如何方便直观地查看数据库 #1

Open
zhangsr opened this issue Nov 26, 2015 · 0 comments
Open

Android中如何方便直观地查看数据库 #1

zhangsr opened this issue Nov 26, 2015 · 0 comments

Comments

@zhangsr
Copy link
Owner

zhangsr commented Nov 26, 2015

本文旨在抛出如题问题,并提供Feeder项目中的解决方案,希望大家一起讨论一起提升。

效果

在终端输入命令
image

弹出数据库浏览的可视化界面:
image

原理

通过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 设备中,像效果图那样执行脚本,数据库界面就出来了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant