0

我写了一个android应用程序,它需要使用数据库

数据库保存在“data/data/packegename/database”

我想将我的 .db 文件下载到“data/data/packegename/database/”

但我不想root我的手机

有什么简单的方法可以把它下载到文件夹中吗?(我需要经常复制它)

4

2 回答 2

0

如果你不想root你的手机,除了你的应用程序本身,你不能访问你自己的应用程序数据目录。

OptionOne - 在您自己的应用程序中编写一些后门代码,该代码将从您的 PC 下载数据库(设置 Web 服务)

OptionTwo - 在您自己的应用程序中设置一个小型 Web 服务(就像 google 一样简单),然后从 PC 上传数据库

于 2013-08-15T03:36:10.237 回答
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 上存在一些行尾/编码问题。您可以通过将文件复制到 sdcard,然后从那里提取(如果您的应用程序具有该权限)或将文件更改为世界可读(然后您可以adb pull直接文件)来规避这种情况。

于 2013-08-15T04:05:43.257 回答