在 Android Studio 中查看设备上的 SQLite 数据库
Posted
技术标签:
【中文标题】在 Android Studio 中查看设备上的 SQLite 数据库【英文标题】:View SQLite database on device in Android Studio 【发布时间】:2015-03-29 00:40:51 【问题描述】:我使用的是最新版本的 android Studio。当我在模拟器上运行我的应用程序时,我可以通过以下方式查看我的数据库:
tools -> Android Device Monitor -> clicking on the emulator in the left panel -> file explorer -> data -> data -> com.project-name
但在设备上运行我的应用时,此选项不可用。
我已经检查了相关问题:
-
Android - viewing SQLite databases on device?这里投票最多的答案建议将数据库复制到SDcard,甚至是eclipse。
Access sqlite database on android device
这些问题来自 2011 年和 2010 年。 有没有我可以使用的插件或其他外部工具?
【问题讨论】:
“但在设备上运行我的应用程序时,此选项不可用”——正确。这与您选择的 IDE 无关。您可以使用adb shell run-as
(请参阅 this answer 到您的第二个链接问题)。
如果您只想查看您的数据库,您可以从 Playstore 下载 DB Browser。
@Opiatefuchs 我刚刚下载了 DB Browser。如何找到我的数据库?
选择“搜索数据库”并输入您的数据库的确切名称...
View contents of database file in Android Studio的可能重复
【参考方案1】:
通过 ADB Shell 连接到 Sqlite3
我在 Android Studio 中没有找到任何方法来执行此操作,但我使用远程 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 tablename
打印整个表格:
SELECT * FROM tablename;
列出所有可用的 SQLite 提示命令:
.help
来源:This所以回答..
【讨论】:
它显示无法打开数据库..第五步之后... :( @Ben 您的设备需要植根才能在物理设备上进行这项工作。否则,您必须使用模拟器,例如 Android Studio 中提供的模拟器。 在 Windows 10 上,我得到了 sqlite3查看实时数据库的最简单方法是:
#适用于 Android Studio 4.1 Canary 6 及更高版本
您可以使用一个非常简单的Android Studio 功能Database Inspector。 您可以使用新的 Database Inspector 检查、查询和修改应用程序的数据库。例如,您可以通过修改数据库中的值并在设备上实时测试这些更改来调试正在运行的应用程序,而无需离开 Android Studio。
要开始使用,请将您的应用部署到运行 API 级别 26 或更高级别的设备上,然后从菜单栏中选择 View > Tool Windows > Database Inspector。
#适用于 Android Studio 4.0 及更低版本
使用Android Debug Database 库
Android 调试数据库允许您编辑、删除、创建数据库和共享首选项 以非常简单的方式直接在浏览器中取值 在您的数据中搜索 Debug Room 内存数据库 无需root设备使用:
将此添加到您应用的 build.gradle
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
启动/运行应用程序
在LogCat的日志中找到调试链接
i.e. D/DebugDB: Open http://192.168.232.2:8080 in your browser
链接会有所不同,请在任意浏览器中打开
就是这样享受!!!
如果您通过 USB 使用它,请运行ADB forward tcp:8080 tcp:8080
Android 手机和笔记本电脑应连接到同一网络
欲了解更多详情,请访问library。
【讨论】:
【参考方案3】:Android Studio 4.1 版本有一个新的原生方式叫做 Database Inspector,查看this 答案!
会在android studio底部显示
【讨论】:
请考虑将您的答案作为评论发布 对不起,我还没有足够的声誉:(,所以我会让答案更有用! 谢天谢地【参考方案4】:以下是Android中查看sqlite数据库最简单的解决方案。
https://github.com/facebook/stetho
查看 SQLite DB 的步骤
1) 添加gradle依赖
compile 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.facebook.stetho:stetho:1.5.0' - for kotlin
2) 在应用程序类中
public class MyApplication extends Application
public void onCreate()
super.onCreate();
Stetho.initializeWithDefaults(this);
3) 转到谷歌浏览器并输入“chrome://inspect/#devices
”以查看已连接
设备并且可以访问 SQlite DB。
【讨论】:
即使在Java中,现在也应该替换为实现,而不是编译。【参考方案5】:This app 非常有用,免费并且将保持免费(由开发人员确认)。非常容易添加、编辑和删除。
它适用于有根设备和模拟器。另外,如果您有数据库文件,那么 您可以从所有设备的 SDCard 中浏览它,包括非 root 用户。
【讨论】:
以上是关于在 Android Studio 中查看设备上的 SQLite 数据库的主要内容,如果未能解决你的问题,请参考以下文章
无法在三星设备上的 Android Studio 3.4.1 中运行项目
是否可以在 MAC 上的 Android Studio 中使用 IOS 模拟器设备?
Android Studio - 真正的 Android 设备上的 Google 地图在发布 apk 时仍为空白