这个问题已经有一个答案在这里:

我有麻烦了访问数据库,同时我正在开发的电话。每当我的执行

cd /data/data/com.mycompck/databases

然后运行 ls 我得到: "opendir failed, Permission denied"

或者只要我输入 sqlite3 我得到: "sqlite3: permission denied"

我做错了什么?

有一些应用,可以帮助我得到一个人查看的内容的解决程序的价值和/或源码数据库?

有帮助吗?

解决方案

要回答第一部分的问题,检查了 这个答案.基本上,你的手机需要有根本的访问,以及需要运行、亚行在根模式(使用"亚行根").

至于第二部分,我用 源码数据库的浏览器 来查看我源码dbs(虽然这是只有当该数据库是关于我的计算机;不知道的任何设备上的浏览器)。我不知道任何方式获得的人力图解决程序的内容.

其他提示

检查我的回答来自以下主题: 为什么我拒绝访问要的数据文件夹时使用adb?

从API level8(安卓2.2),如果建立应用程序作为可调试,可以使用的壳 run-as 命令执行命令的或可执行的作为 特定用户/应用或者只是开关的 UID 你的 应用程序,以便可以访问其 data 目录。

所以基本上你会需要做一个调试建设(这是由 自动 只要你启动应用程序,从机器人工作室除非你请求发布版本)和运行以下命令:

run-as com.mycompck
cd /data/data/com.mycompck/databases
ls
sqlite3 ./yourdatabase.db

然而注意, sqlite3 二是不是默认存在许多电话。因此或许你会需要下载它的地方(例如从SuperOneClick档案馆 http://shortfuse.org/),保存在,并使其可执行(这是一点点棘手,尽管),例如:

run-as com.mycompck
cd /data/data/com.mycompck/
cat /sdcard/sqlite3 >./sqlite3
chmod 744 ./sqlite3
./sqlite3 ./databases/yourdatabase.db

你必须要根访问的任何数据库文件。所以,你可以得到根你的手机上(寻找信息在谷歌)或者调试的数据库只是从模拟器(这给你根始终都把便于接触).

再见!

最好的方式查和管理安卓应用程序的数据库是使用这个图书馆 https://github.com/sanathp/DatabaseManager_For_Android

它是一个单一的java活动的文件,只是添加java文件来源的文件夹,你可以查表中的应用数据库、更新、删除,插入行向你表。一切都从您的应用程序。

当发展是消除java文件从你的来源文件夹中的那是它。

这对我帮助很大。希望它能帮助你。

你可以查看的1分钟的演示: http://youtu.be/P5vpaGoBlBY

我已经读了关于这一点,并访问数据库文件的移动看起来相当麻烦。

看看这个.这个你可以查看你的数据库内部的应用程序。 数据库经理

对于我这个运行良好。它还取决于什么你打算做当然.

希望这有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top