当前位置:  开发笔记 > 数据库 > 正文

在Android手机上开发时如何访问数据库?

如何解决《在Android手机上开发时如何访问数据库?》经验,为你挑选了1个好方法。

我在手机上开发时遇到了访问数据库的问题.每当我执行

cd /data/data/com.mycompck/databases

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

或者每当我输入时,sqlite3我得到:"sqlite3: permission denied"

我究竟做错了什么?

是否有一些应用程序可以帮助我获得内容解析器值和/或SQLite数据库的人工视图?



1> Idolon..:

从以下主题检查我的答案:为什么在使用adb时我被拒绝访问数据文件夹?

从API级别8(安卓2.2)开始,如果您构建应用程序的可调试,你可以使用shell run-as命令来运行一个命令或执行特定的用户/应用程序或只需切换到该UID应用程序,让您可以访问它的data目录.

因此,基本上您需要进行调试构建(除非您请求发布版本,否则每当您从Android Studio启动应用程序时都会自动生成)并运行以下命令:

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

但请注意,sqlite3默认情况下,许多手机上不存在二进制文件.因此,您可能需要在某处下载它(例如,从http://shortfuse.org/上的SuperOneClick存档),保存在SD卡上并使其可执行(虽然这有点棘手),例如:

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

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有