我在 DDMS 所有文件夹中搜索了很多,但在文件管理器中找不到我的包文件夹的位置。我已经将它搜索到了,storage/sdcard0
但我的包裹也不存在。
看看我上传的照片。手机有什么特殊设置吗? 我的手机安卓4.4.2版
请帮我找到。
更新
我完成了这些步骤。
然后我到达我的数据库文件夹。现在该怎么办。
adb shell
run-as com.mypackage
ls
cd databases
ls
现在在这之后该怎么办。
我在 DDMS 所有文件夹中搜索了很多,但在文件管理器中找不到我的包文件夹的位置。我已经将它搜索到了,storage/sdcard0
但我的包裹也不存在。
看看我上传的照片。手机有什么特殊设置吗? 我的手机安卓4.4.2版
请帮我找到。
更新
我完成了这些步骤。
然后我到达我的数据库文件夹。现在该怎么办。
adb shell
run-as com.mypackage
ls
cd databases
ls
现在在这之后该怎么办。
当您正在寻找数据库时。我曾经在更新后将数据库文件复制到任何其他位置。(在我的代码中)然后我通过电话或 PC 使用任何 sqlite 查看器来查看它。
据我所知,我认为您需要一个有根设备这是SD卡。
主包文件保存在内部存储中。
我想你可以试试这个链接 http://developer.android.com/guide/topics/data/install-location.html 你可以改变应用安装的位置。
溴,
您无法在 DDMS 中查看文件,但您可以使用以下命令获取所有文件的位置列表:
adb shell pm list packages -f
(您还可以添加一个可选的额外参数来限制列出的文件为与您的额外参数匹配的文件)。
一旦你有了文件的位置,你就可以发出类似的命令
adb pull /system/app/GoogleEarth.apk
实际将文件从设备上移到您的 PC 上。
这些都不需要有根设备。
由于您正在寻找应用程序的数据库:不幸的是,正如Hussein Ali正确指出的那样,没有办法在无根设备上/data/data/your.package.name/databases
通过DDMS访问。(顺便说一句:无论安装位置如何,应用程序数据(共享首选项,数据库)都将驻留在那里)
像这样的东西也行不通,因为Permission denied
.
adb pull /data/data/your.package.name/databases/db.sl3
幸运的是 ICS (Android 4.0) 引入了备份应用程序数据的功能。这是将数据库从无根设备复制到 PC 的一种可能方式。请查看StackOverflow 上的这篇文章,以了解您需要做什么。
将数据库文件复制到您的 SD 卡,这样您就可以使用adb pull
数据库并将其获取到您的 PC(您不能从私人文件夹中提取文件,例如/data/data/...
)。
我建议使用SQLite Expert
浏览桌面上的数据库:
http ://www.sqliteexpert.com/
此外,如果您仍想sqlite3
在您的设备上使用,请查看此答案:https ://stackoverflow.com/a/7878236/624109
手机存储被视为位置“sdcard”中的外部存储,您没有保存任何内容,因此没有创建任何内容(包命名文件夹)...您的包将位于根目录“data/data/pkg_name”中的应用程序“私有存储”中" 文件夹只能在有根设备上访问。