我需要从创世设备的安卓应用程序中获取SQLite数据库,用户已手动填充。
我如何创建另一个应用程序或任何其他方式来获得这个数据库,并保存在我可以获得的地方?
obs。:设备具有root
谢谢
发布于 2014-01-11 20:35:46
cmd上Android的.../platform-tools中的步骤:
1)类型adb shell
2) run-as
com.your.package
3)类型ls
cache
databases
lib
你可以找到你的Database
Here...Also,你甚至不需要root
设备
希望这能对你有所帮助。
发布于 2014-01-11 20:27:59
假设您已将设备连接到路径为adb的计算机上,则可以使用以下命令:
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文件资源管理器。
发布于 2016-08-16 02:04:25
您可以在您的应用程序中包含Stetho库,
http://facebook.github.io/stetho/
这将允许您使用Chrome的Web调试工具访问数据库
或者使用以下shell脚本:
#!/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"
上面的方法都不需要你的设备是根的,后者即使在不是你自己编写的应用程序上也有效,只要ApplicationManifest.xml不包含"backup=false“
https://stackoverflow.com/questions/21062187
复制相似问题