0

我试图以任何可能的方式查看 SQLite 数据库(我有一个根设备)。我在 Eclipse 中尝试了文件资源管理器,但在数据文件夹下看不到任何内容。任何人都可以帮我解决这个问题,我试图到处搜索,但找不到明确的解决方案。我也尝试了 adb shell,但我无法使用“ls”命令查看数据文件夹中的内容列表。错误 Opendir 失败。没有权限

我猜这与权利有关,但我该如何解决

请帮忙

4

5 回答 5

2

您需要root权限才能浏览DATA目录... From phoneterminal emulator用来完成这项工作.....只需打开terminal然后输入,然后su它会要求权限。那么你需要输入cd data/data/WhereEverYouNeedToGo/databases并且"WhereEverYouNeedToGo"应该是包名。之后,您可以对数据库做任何您想做的事情。

from PC

打开terminalcmd转到您的adb目录然后运行adb shell然后su然后
cd data/data/WhereEverYouNeedToGo/databases

希望它有所帮助。

于 2012-08-13T13:46:52.857 回答
1

使用“adb root”以 root 模式运行 adb

于 2012-08-13T13:43:53.323 回答
1
adb shell
su
ls /data/

尝试这个

于 2012-08-13T13:43:53.640 回答
0

您需要有路由设备,或者您的设备应该是“Android Dev Phone”才能浏览该目录。尝试使用模拟器检查相同的内容,您将能够看到数据文件夹的内容。

于 2012-08-13T14:02:34.943 回答
0

您已经获得了许多关于如何利用 root 功能的答案,但是由于 android 是在没有 root 假设的情况下设计的,因此您在开发应用程序时也可以使用其他方法。

1) 在专家菜单中包含将数据库复制到 sdcard 的功能;android java 中没有文件复制方法(在大多数库存情况下没有'cp' shell 命令),但您可以在此处使用复制例程找到许多答案。

2) 使您的 apk 可调试并使用 run-as 命令获取以应用程序用户 ID 运行并在应用程序的数据目录中启动的 shell。然后,如果应用程序具有该权限,您可以将数据库复制到 sdcard。

3)让您的应用在开发期间将数据库文件的权限设置为全球可读。虽然您无法浏览目录树以找到它,但您可以通过提供数据库文件的完整路径名来 adb 拉取数据库文件。

于 2012-08-13T13:54:11.933 回答