我写了一个Android应用程序,它需要使用数据库
数据库保存在“data / data / packegename / database”
我想将.db文件下载到“data / data / packegename / database /”
但我不想根我的手机
有没有简单的方法将其下载到文件夹?(我需要经常复制)
答案 0 :(得分:0)
如果您不想手机根,则除了申请流程本身外,您无法访问自己的应用数据目录。
OptionOne - 在您自己的应用程序中编写一些后门代码,这将从您的PC下载数据库(设置Web服务)
OptionTwo - 在您自己的应用程序中设置一个小型Web服务(就像google一样简单),并从PC上传数据库
答案 1 :(得分:0)
您可以使用run-as
命令通过adb模拟您的应用。请参阅博文Read Android Data Folder Without Rooting。必须使用调试标志构建您的应用程序才能使用此方法。然后你可以做像
adb shell "stty raw; run-as your.application.package.name cat /data/data/your.application.package.name/files/whatever.file" > whatever.file
然而,在传输二进制数据时存在一些行结束/编码问题,至少在Windows上是这样。您可以通过将文件复制到SD卡,然后从那里拉(如果您的应用程序具有该权限),或通过将文件更改为世界可读(然后您可以直接adb pull
文件)来规避这一点。