自应用发布以来,我一直在使用Android Studio开发应用。
直到最近,一切都很好,我必须调试和检查数据库文件。由于我不知道如何直接看到数据库,当我调试生成数据库文件时,我不得不将数据库文件从我的手机导出到PC上。
为此,我必须打开DDMS >文件资源管理器。一旦我打开DDMS,我必须重新连接USB,我失去了调试线程。在检查数据库文件之后,我必须关闭DDMS并重新连接USB以回到调试模式。
这太复杂了。有人有更好的方法来做到这一点在Android Studio(我知道它更容易在Eclipse) ?
这是一个非常古老的问题,我的答案与上面的一些答案相似,但做得更快。下面的脚本是Mac,但我相信有人可以修改它为Windows。
1)在Mac上打开脚本编辑器(你可以在Spotlight中搜索脚本编辑器)
2)复制粘贴下面的文本,并修改你的SDK路径,包名等(见下文)
3)保存脚本!!
这是它!只需按下顶部的播放按钮,即可获得更新后的数据库文件,该文件将在您的桌面上。
替换下面脚本中的内容:
Path_to_my_sdk ==>>把完整的路径到你的SDK
My_package_name ==>应用程序的>包名称
myDbName.db ==>数据库的>文件名
set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb
希望这能帮助到一些人。
虽然这是一个很老的问题,但我认为它今天仍然有意义。在最新版本的android studio中,我找到了一种方法来查看它(我不确定以前的版本中是否可用)。]
下面是如何查看数据库中的数据:
步骤:
Go to View > Tool Windows > Device File Explorer
Then the folder data > data and you will see applications lists.
There scroll down a little bit and see the package [ your package for
application ].
After finding your package, see databases folder and select file, right
click it and save [ download ]
As you can't see the data directly, there is a tool, DB Browser for SQLite,
go website https://sqlitebrowser.org/
Open Db browser and click open database and choose the database table you
downloaded and it will show you the data.
新编辑
现在(当你阅读这篇文章的时候),这甚至更容易了,因为Android工作室已经提供了数据库检查器(就在右下角附近)。
点击它,你会看到数据库。
但是,请确保API的最小级别是26,如果不通过构建更改它。gradle文件作为minSdkVersion 26
最后,我找到了一个最简单的解决方案,不需要打开DDMS。
实际上,解决方案是基于@Distwo提到的,但它不必那么复杂。
首先,记住数据库文件在设备中的路径,它应该始终相同。
例如我的是:/data/data/com.XXX.module/databases/com.XXX.module.database
其次,执行这个命令,将数据库文件拉到PC上
adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/
您需要做的就是复制并存储这个命令,然后您就可以一次又一次地使用它。
第三,如果你得到了Permission Denied或类似的情况,只需在前面的命令之前运行adb root。