自应用发布以来,我一直在使用Android Studio开发应用。

直到最近,一切都很好,我必须调试和检查数据库文件。由于我不知道如何直接看到数据库,当我调试生成数据库文件时,我不得不将数据库文件从我的手机导出到PC上。

为此,我必须打开DDMS >文件资源管理器。一旦我打开DDMS,我必须重新连接USB,我失去了调试线程。在检查数据库文件之后,我必须关闭DDMS并重新连接USB以回到调试模式。

这太复杂了。有人有更好的方法来做到这一点在Android Studio(我知道它更容易在Eclipse) ?


当前回答

它是其他答案加加号的组合

Install DB Browser for SQLite Get the exact location from Device File Explorer for MyBase.db something like "/data/data/com.whatever.myapp/databases/MyBase.db" Set the project window from Android to Project - so you can see the files (build.gradle, gradle.properties,...etc) In Project window right click and chose Open in Terminal In terminal you are now in the root director of your application from the hardisk so execute: adb pull /data/data/com.whatever.myapp/databases/MyBase.db Now on the Project window of you Android Studio you have a file "MyBase.db" Double click your db file from Project and you can now browse/edit your databases in DB Browser When you are ready just do Write Changes in DB Browser so databases are saved on hardisk In terminal with the command: adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db you just send from the Hardisk to device the edited database.

其他回答

这可能不是你想要的答案,但我没有更好的方法从手机下载DB。我的建议是确保您使用的是这种迷你ddms。它将超级隐藏,但如果你不点击非常小的伪装框在程序的左下角。(试着在它上面盘旋,否则你可能会错过它。)

同样,下拉菜单显示没有过滤器(右上)。它实际上有很多不同的方法,你可以通过PPID,名称等监视不同的进程/应用程序。我一直用这个来监控手机,但请记住,我不是在做那种需要120%肯定数据库没有做一些不寻常的事情的开发工作。

希望能有所帮助

这是一个非常古老的问题,我的答案与上面的一些答案相似,但做得更快。下面的脚本是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

希望这能帮助到一些人。

我使用windows 7,我的设备是一个模拟的android设备API 23。我想对于任何真实的设备都是一样的,只要它是根设备,API不超过23

进入工具-> Android -> Android设备监视器。 进入文件资源管理器。在我的例子中,它在data/data//app_webview/databases/file_0/1中

我必须手动在名为"1"的文件末尾添加。db

通过ADB Shell连接到Sqlite3

我还没有找到任何方法来做到这一点,在Android工作室,但我访问db与远程shell,而不是每次拉动文件。

在这里找到所有信息: http://developer.android.com/tools/help/adb.html#sqlite

1-在命令提示符中进入你的平台工具文件夹

2-输入命令adb devices获取您的设备列表

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3-连接一个外壳到您的设备:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4-导航到包含你的db文件的文件夹:

cd data/data/<your-package-name>/databases/

5-运行sqlite3连接到你的数据库:

sqlite3 <your-db-name>.db

6-运行你喜欢的sqlite3命令,例如:

Select * from table1 where ...;

注意:在下面可以找到更多要运行的命令。

SQLite备忘单

在SQLite数据库中查看表有几个步骤:

列出数据库中的表: .tables 列出表格的外观: . schema的表 打印整个表格: SELECT * FROM tablename; 列出所有可用的SQLite提示命令: .help

打开Android Studio底部的设备文件探索终端。

打开名为Data的文件夹,然后在Data内部再次打开Data文件夹。

向下滚动文件夹列表,找到带有你的.package.name的文件夹。打开文件夹your.package.name >数据库。你得到你的。databasename。右击你的。databaseName和Save as到C:/your/Computer/Directory。

进入C:/your/Computer/Directory,打开你的。databaseName with DB SQLite