题
这个问题已经有一个答案在这里:
- 调试源码数据库的设备 15的答案
我有麻烦了访问数据库,同时我正在开发的电话。每当我的执行
cd /data/data/com.mycompck/databases
然后运行 ls
我得到: "opendir failed, Permission denied"
或者只要我输入 sqlite3
我得到: "sqlite3: permission denied"
我做错了什么?
有一些应用,可以帮助我得到一个人查看的内容的解决程序的价值和/或源码数据库?
其他提示
检查我的回答来自以下主题: 为什么我拒绝访问要的数据文件夹时使用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