首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从安卓应用获取SQLite数据库

从安卓应用获取SQLite数据库
EN

Stack Overflow用户
提问于 2014-01-11 20:23:46
回答 5查看 21.2K关注 0票数 14

我需要从创世设备的安卓应用程序中获取SQLite数据库,用户已手动填充。

我如何创建另一个应用程序或任何其他方式来获得这个数据库,并保存在我可以获得的地方?

obs。:设备具有root

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-11 20:35:46

cmd上Android的.../platform-tools中的步骤:

1)类型adb shell

2) run-as com.your.package

3)类型ls

代码语言:javascript
复制
cache

databases

lib

你可以找到你的Database Here...Also,你甚至不需要root设备

希望这能对你有所帮助。

票数 14
EN

Stack Overflow用户

发布于 2014-01-11 20:27:59

假设您已将设备连接到路径为adb的计算机上,则可以使用以下命令:

代码语言:javascript
复制
adb -d shell 'run-as your.package.name.here cat /data/data/your.package.name.here/databases/your_db_name_here.sqlite > /sdcard/recovered_db.sqlite'

或者你可以使用Ecliplse DDMS文件资源管理器。

票数 5
EN

Stack Overflow用户

发布于 2016-08-16 02:04:25

您可以在您的应用程序中包含Stetho库,

http://facebook.github.io/stetho/

这将允许您使用Chrome的Web调试工具访问数据库

或者使用以下shell脚本:

代码语言:javascript
复制
#!/bin/bash
echo "Requesting data from Android"
adb backup -f data.ab -noapk YOUR.APK.NAME
echo "Decoding...."
dd if=data.ab skip=24 iflag=skip_bytes | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
rm data.ab
echo "Done"
代码语言:javascript
复制

上面的方法都不需要你的设备是根的,后者即使在不是你自己编写的应用程序上也有效,只要ApplicationManifest.xml不包含"backup=false“

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21062187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档