ChatGPT解决这个技术问题 Extra ChatGPT

在 Android Studio 中查看数据库文件的内容

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

直到最近一切都很好,我必须在检查数据库文件的同时进行调试。由于不知道如何直接查看数据库,所以在调试生成数据库文件时,必须将手机中的数据库文件导出到PC。

为此,我必须打开 DDMS > File Explorer。一旦我打开 DDMS,我必须重新连接 USB,我失去了我的调试线程。检查数据库文件后,我必须关闭 DDMS 并重新连接 USB 才能回到调试模式。

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

现在 Android Studio 本身就可以使用此功能:developer.android.com/studio/inspect/database

O
Ojonugwa Jude Ochalifu

从 Android Studio 查看数据库:

选项1:

下载并安装 SQLiteBrowser。将数据库从设备复制到您的 PC: Android Studio 版本 < 3.0:通过工具 > Android > Android 设备监视器打开 DDMS 单击左侧的设备。您应该会看到您的应用程序: 转到文件资源管理器(右侧的选项卡之一),转到 /data/data/databases 只需单击即可选择数据库。转到 Android 设备监视器窗口的右上角。单击“从设备中提取文件”按钮:将打开一个窗口,询问您要将数据库文件保存在哪里。将其保存在 PC 上您想要的任何位置。 Android Studio 版本 >= 3.0:通过 View > Tool Windows > Device File Explorer 打开 Device File Explorer 转到 data > data > PACKAGE_NAME > database,其中 PACKAGE_NAME 是您的包的名称(在上面的示例中为 com.Movie) 对单击数据库并选择另存为...。将其保存在 PC 上所需的任何位置。现在,打开您安装的 SQLiteBrowser。单击“打开数据库”,导航到保存数据库文件的位置,然后打开。您现在可以查看数据库的内容。

选项 2:

转到 this Github 存储库并按照自述文件中的说明操作,以便能够在您的设备上查看您的数据库。你得到的是这样的:

https://i.stack.imgur.com/TBdDV.png

而已。不用说,您应该在发布您的应用程序之前撤消所有这些步骤。


这对我来说是正确的答案,因为 sqlitebrowser 工具的提示非常棒。谢谢
/data 没有在设备监视器的文件资源管理器中展开,我猜它无法访问,因为列出 /data 或 /data/data 目录的条目需要超级用户访问。我仍然可以通过具有 su 权限的 adb shell 访问我的数据库文件。知道如何在文件管理器中获得 su 访问权限吗?
@ZekeDran,是的,该方法仅显示来自模拟器而不是您的设备的数据。不过,我已经添加了在您的设备上查看数据库的步骤。检查编辑
它可以工作,但模拟器必须运行不超过 API 23。如果您使用 API 25,则文件资源管理器中没有内容
您的 Github 链接中的数据库管理器正在为我工作!它还有机会测试查询!
D
Dheeraj Bhaskar

通过 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-导航到包含您的数据库文件的文件夹:

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


我在第 4 步获得许可被拒绝,你怎么看?
您可能必须在步骤 3 'root adb -s emulator-xxxx shell' 中启动您的 avd,和/或以 root 身份启动 adb
第 5 步:找不到 sqlite3。为什么?
因为你需要安装才能使用
我个人在尝试访问 databases 文件夹时遇到了 Permission denied,运行 run-as your.package.name 就可以了。
V
Vadim Kotov

实际上,我很惊讶没有人给出这个解决方案:

看看Stetho

我曾多次出于不同目的使用 Stetho(其中之一是数据库检查)。在实际的 website 中,他们还讨论了网络检查和查看视图层次结构的功能。

它只需要一点设置:1 个 gradle 依赖项添加(您可以将其注释掉以用于生产构建),几行代码来实例化 Stetho,以及一个 Chrome 浏览器(因为它使用 Chrome devtools 来处理所有事情)。

更新:您现在可以使用 Stetho 查看 Realm 文件(如果您使用 Realm 而不是 SQLite DB):https://github.com/uPhyca/stetho-realm

更新 #2:您现在可以使用 Stetho 查看 Couchbase 文档:https://github.com/RobotPajamas/Stetho-Couchbase

更新 #3:Facebook 正致力于将所有 Stetho 功能添加到其新工具 Flipper 中。 Flipper 已经具备 Stetho 的许多功能。因此,现在可能是进行转换的好时机。 https://fbflipper.com/docs/stetho.html


非常感谢。为了更简单,1.compile 'com.facebook.stetho:stetho:1.3.1' 和 2. 添加此代码 Stetho.initializeWithDefaults(this); 和 3.chrome://inspect/#devices
非常简单,您可以在 chrome 浏览器中查看数据库中的数据而无需 3rd 方工具。
不要忘记 Stetho.initializeWithDefaults(this); 应该在 Application 类中。
很棒的工具。如果您已正确完成设置,您的应用将列在#devices 页面上。单击检查,然后转到资源 > Web SQL > [db_name],您可以编写您的 sqlite 语句。
C
Community

不使用模拟器时最简单的方法

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

注意事项:

我有一段时间没有测试这个了。它可能不适用于 API>=25。如果 cp 命令对您不起作用,请尝试以下方法之一:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

解释:

第一个块将数据库的权限配置为可读。这利用了 run-as,它允许您模拟包的用户来进行更改。

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

接下来我们将数据库复制到一个世界可读/可写的目录。这允许 adb pull 用户访问。

$ cp /data/data/your.package.name/databases/database_name /sdcard

然后,替换现有的读/写权限。这对于您的应用程序的安全性很重要,但是权限将在下次安装时被替换。

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

最后,将数据库复制到本地磁盘。

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

我遇到了第二个命令的问题:run-as。我得到 'com.mycompany.myappname' 是未知的。是的,我很肯定我使用了正确的包名!
@PhuLai 你试过不同的设备吗?什么设备出现故障?
我尝试使用 Nexus 6P,API 25。我认为这种方法不适用于新的 Android 版本。
chmod 660 databases/database_name 应该在 chmod 660 databases 之前
@PhuLai - 我也得到了这个,然后我尝试跳过 cp 命令并从外部执行 pull(更改权限后)并且它有效(adb pull data/data/package.name/databases/db_name.db
G
GeneCode

在 Android Studio 3 及更高版本中,您可以在 Android Studio 的右下角看到“设备文件资源管理器”部分。

打开它,然后你可以看到文件树,你可以在这个路径中找到一个应用程序数据库:

/data/data/{package_name}/databases/

https://i.stack.imgur.com/jCmCA.png

右键单击 db 文件并另存为...(然后保存到桌面)。

https://i.stack.imgur.com/T0qca.png


当我双击我的应用程序的数据库文件时,它会显示所有不可读的字符。您使用什么 SQLite 阅读器来查看数据库内容?
我推荐 sqlitebrowser.org 免费、开源并且可用于所有平台。
我的 database.db 文件不包含任何表。
文件夹为空。错误:run-as: Could not set capabilities: Operation not permitted。三星设备:stackoverflow.com/questions/37413667/…
S
Scott Zhu

最后,我找到了一个不需要打开 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


在我的手机上运行 adb root 不起作用。它打印出 adbd cannot run as root in production builds。但是,在运行 adb root 之后,pull 命令会冻结,我需要手动停止它。
@Daniela 尝试 run-as your.package.name 这应该以属于您的应用的用户身份“登录”
使用上述命令将 .db 文件复制到您的桌面,在 Firefox 中安装 SQLiteManager 浏览器插件并开始浏览。 2分钟作业!
该根命令是用于模拟器的,您不能只运行此命令并根植您的“手机”。
一切都完成了,得到了database.db。文件但该 database.db 文件不包含任何表
D
Daniel

最简单的方法是使用 Android Debug Database(GitHub 上有 7.7k 星)

https://i.stack.imgur.com/w3f7l.png

优点:

快速实施

查看所有数据库和共享首选项

直接编辑、删除、创建数据库值

在给定的数据库上运行任何 SQLite 查询

在您的数据中搜索

下载数据库

添加自定义数据库文件

无需root设备

如何使用:

将 debugImplementation 'com.amitshekhar.android:debug-db:1.0.6' 添加到 build.gradle(模块);启动应用程序;在日志中找到调试链接(在LogCat中)(即D/DebugDB:在浏览器中打开http://192.168.232.2:8080,链接会不一样),在浏览器中打开;享受强大的调试工具!

重要的:

不幸的是不适用于模拟器

如果您通过 USB 使用它,请运行 adb forward tcp:8080 tcp:8080

您的 Android 手机和笔记本电脑应连接到同一网络(Wifi 或 LAN)

有关更多信息,请访问 GitHub 上的 library page


这是最好的和不那么痛苦的过程!谢谢丹尼尔
仅供参考,对于可能在这里的一些人,到目前为止,我无法让它在 react native android 上工作
迄今为止最好的解决方案!
A
Amir Hossein Ghasemi

试试这个 android studio 插件 SQLScout。您可以实时查看和编辑您的应用数据库。

https://i.stack.imgur.com/xvQvR.png

编辑:记住这是一个付费插件,但有 24 小时试用期,适合头痛时间。


这是付费产品,你忘了说。
不是真的,它有 24 小时试用,我计划我作为开发人员的未来超过 24 小时。
可悲的是,它不是免费的。
试用时间仅为 36 小时。
N
Nabin

在 Android Studio 中查看数据库内容的简单方法。

#适用于 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 Studio 中安装 Database Navigator 插件

https://i.stack.imgur.com/K30VD.png

二、重启Android Studio

第三,将数据库保存到默认位置,例如:(C:\Users\User Name\Documents\AndroidStudio\DeviceExplorer\emulator or device\data\data\package name\databases)

https://i.stack.imgur.com/I0ukJ.png

四、连接Database Navigator中保存的dbname_db文件

https://i.stack.imgur.com/wVAGT.png

给出第三步中使用的相同 DB 文件路径

即(C:\Users\User Name\Documents\AndroidStudio\DeviceExplorer\emulator or device\data\data\package name\databases\package naem\dbname_db)

最后,只需测试数据库连接并打开控制台并做任何你想做的事情。

https://i.stack.imgur.com/QS7wM.png

如果要刷新数据库,只需重复第二步并保存或刷新即可。

快乐编码!!!!


该解决方案需要您为您的日常工作付出很多努力。并且在数据库中的每次更改都需要重新加载 sql 文件 - 看起来有点复杂。我更喜欢使用一些插件来查看本地服务器上的数据库
是的,你是对的,直到 Database Navigator 中没有实时数据更新,我希望它会尽快更新它的插件。
没错,这将是一个很棒的功能
是的,到目前为止,如果我们需要查询数据,添加,编辑和删除,这对我来说是最好的方法
我是否需要始终进行保存以刷新数据库?有没有像mysql一样更简单的方法,我只需要点击刷新按钮。
B
Badri Paudel

尽管这是一个很老的问题,但我认为它在今天仍然很重要。使用最新版本的android studio,我找到了一种查看它的方法[我不确定它是否在以前的版本中可用。 ]

以下是如何查看数据库中的数据:

脚步 :

转到查看>工具窗口>设备文件资源管理器然后文件夹数据>数据,您将看到应用程序列表。向下滚动一点,查看包 [您的应用程序包]。找到你的包后,查看databases文件夹并选择文件,右键保存[下载]因为你不能直接看到数据,有一个工具,DB Browser for SQLite,去网站https://sqlitebrowser.org/打开 Db 浏览器并单击打开数据库并选择您下载的数据库表,它将显示数据。

新编辑

现在(在你阅读这篇文章的时候),它更容易了,因为 Android Studio 已经带有数据库检查器(就在右下角附近)。

单击它,您将看到数据库。但是,请确保 minimun API 级别为 26,如果没有通过 build.gradle 文件将其更改为 minSdkVersion 26


G
Grae

在完成所有解决方案后,我会建议

使用 Stethos 让我们看看它有多简单

在 build.gradle 文件中添加以下依赖项

implement 'com.facebook.stetho:stetho:1.5.0'
implement 'com.facebook.stetho:stetho-js-rhino:1.4.2'

然后去你的 mainActivity onCreate 方法添加以下行

Stetho.initializeWithDefaults(this);

这将要求您

import com.facebook.stetho.Stetho;

现在从 android studio 运行应用程序时,打开 Chrome 并在地址栏中输入 chrome://inspect/

在资源选项卡 >web SQL 中检查数据库和表,轻松实时使用它

更新: Stethos 在最新版本的 Chrome 中已损坏。如果遇到问题,请尝试使用 Edge 开发工具 edge://inspect/#devices - 请参阅:https://stackoverflow.com/a/67674265/14232521


房间只是 orm,就 sql 而言没有任何变化,它的工作方式相同
A
Anoop M Maddasseri

Android 4.1 Canary 5 Preview 中引入了新的 Database Inspector,您现在可以直接从 IDE 在正在运行的应用程序中检查、查询、修改和调试 SQLite 数据库 - https://developer.android.com/studio/preview/features?linkId=86173020#database-inspector

也支持数据库实时查询 - https://developer.android.com/studio/preview/features?linkId=86173020#query

https://i.stack.imgur.com/37beE.png


我已经发布了 this answer,所以它只是一个重复的答案,无需在顶部发布此答案的链接以进行宣传。
M
MD05

要知道你在android studio中创建的sqlite数据库存储在哪里,你需要遵循简单的步骤:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

有关更多信息,此链接将很有用。 http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

要查看 db 文件中存在的数据,您需要下载 sqlite 浏览器或在任何浏览器中添加相同的插件,因此您需要在浏览器中打开文件并查看数据。

http://sqlitebrowser.org/ 下载浏览器

这是显示包含注册数据库的浏览器的屏幕截图

谢谢,


G
Gal Rom

最简单的方法是连接您的设备并运行 Android Studio 然后从工具栏:

查看 --> 工具窗口 --> 设备文件资源管理器进入数据/数据并找到你的包找到你想要探索的数据库文件并下载它我推荐在这个在线工具上:https://sqliteonline.com/ 来探索数据库文件

另一种方法是使用 Stetho 库:

将 Stello 依赖项添加到您的 build.gradle: compile 'com.facebook.stetho:stetho:1.5.0' 将以下行放在 Application 类或主 Activity 的 onCreate() 上: Stetho.initializeWithDefaults(this);连接您的设备,运行应用程序并在 Chrome 上输入以下站点:chrome://inspect/#devices

就是这样。您现在可以探索您的表格。

注意:建议在迁移到生产环境之前删除依赖项。


P
Pavneet_Singh

随着 Android Studio 4.1 Canary and Dev preview 的发布,您可以使用名为

数据库检查器

https://i.stack.imgur.com/lLdnM.png

安装 AS 4.1+,运行应用程序,打开数据库检查器,现在您可以在数据库检查器面板的左侧查看您的数据库文件,然后选择表格以查看内容。

实时查询

您可以使用 Run SQL 选项运行查询,或者如果您使用的是 Room 然后打开数据库检查器并运行应用程序,您可以在界面中运行 DAO 查询单击 @Query 注释左侧的运行按钮。

https://i.stack.imgur.com/XpdAE.png


j
j3App

如果您想从 ANDROID STUDIO 中浏览您的数据库,这就是我正在使用的:

转到文件/设置/插件并查找:

https://i.stack.imgur.com/QXu0e.png

https://i.stack.imgur.com/ysdcM.png

https://i.stack.imgur.com/jasn8.png


所以我必须一直从模拟器复制数据库?
n
nocommit

这可能不是您要寻找的答案,但我没有更好的方法从手机下载数据库。我的建议是确保您使用的是这个迷你 DDMS。如果您不单击程序最左下角的非常小的伪装框,它将被超级隐藏。 (试图将鼠标悬停在它上面,否则你可能会错过它。)

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

希望能帮助到你

https://i.stack.imgur.com/dsiIv.png


e
elliptic1

我已经把这个过程的 unix 命令行自动化放在一起,并将代码放在这里:

https://github.com/elliptic1/Android-Sqlite3-Monitor

它是一个以包名和数据库名作为参数的 shell 脚本,从附加的 Android 设备下载数据库文件,并针对下载的文件运行自定义脚本。然后,使用 'watch' 之类的 unix 工具,您可以打开一个终端窗口,其中包含定期更新的数据库脚本输出视图。


ᴛʜᴇᴘᴀᴛᴇʟ

这是一个非常古老的问题,我的答案与上面的一些答案相似,但做得更快。下面的脚本适用于 Mac,但我相信有人可以为 Windows 修改它。

1) 在您的 Mac 上打开 Script Editor(您可以在 Spotlight 中搜索 Script Editor) 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

希望这可以帮助某人。


它对我有用。除非您必须在输出目录 /Users/User/Desktop/myDbName.db 中将“用户”更改为您的 MacBook 用户名
C
Community

我知道这个问题已经很老了,但我相信这个问题仍然存在。

从浏览器查看数据库

我创建了一个开发工具,您可以将其作为库集成到您的 android 应用项目中。该工具会在您的应用程序中打开一个服务器套接字以通过 Web 浏览器进行通信。您可以浏览整个数据库并直接通过浏览器下载数据库文件。

https://i.stack.imgur.com/eVIHn.png

集成可以通过 jitpack.io 完成:

项目 build.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

应用程序构建.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

设置应用程序类

为了仅在某些构建类型或产品风格中编译 DebugGhostLib,我们需要一个抽象的应用程序类,该类将派生在特殊风格中。将以下类放入您的 main 文件夹(在 java > your.app.package 下):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

现在,对于您的发布构建类型(或产品风味),您将以下应用程序类添加到您的 release(或产品风味)文件夹(也在 java > your.app.package 下):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

这是不会引用 DebugGhostLib 的应用程序类。

同时告诉您的 AndroidManifest.xml 您正在使用自己的应用程序类。这将在您的 main 文件夹中完成:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

现在,对于您的调试构建类型(或产品风味),您将以下应用程序类添加到您的 debug(或产品风味)文件夹(也在 java > your.app.package 下):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

您可以获得 tool here


这是一个很好的工具,特别是在 Stetho 停止在较新的 chrome 中工作之后,
v
vovahost

我不得不将数据库从手机拉到 PC。现在我使用这个制作精良的免费应用程序,它有很多功能。它适用于API 4.1+Rooted 设备。
如果您找到如何在没有 root 的情况下使其工作,请告诉我。

https://i.stack.imgur.com/5Rbz5.png

https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime


e
eli

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

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

https://i.stack.imgur.com/ZGGQ2.png

向下滚动文件夹列表并找到带有 your.package.name 的文件夹。打开文件夹 your.package.name > 数据库。你得到你的.databaseName。右键单击 your.databaseName 并另存为 C:/your/Computer/Directory。

使用 DB SQLite 转到 C:/your/Computer/Directory 打开 your.databaseName

https://i.stack.imgur.com/wcJYH.png


J
Jawad Zeb

对于 Android Studio 3.X

查看 -> 工具窗口 -> 设备文件资源管理器 在文件资源管理器中 data->data->com.(yourapplication package)->databases 右键单击数据库并保存在本地计算机上。要打开该文件,您只需将数据库文件拖到其上即可使用 SQLite Studio。

这是 SQLite Studio 的链接:https://sqlitestudio.pl/index.rvt?act=download


B
Berkay92

最后,Android Studio 通过数据库检查器选项卡支持此功能。您可以轻松应用查看/更新/查询操作。它目前还不是稳定的渠道,但您可以尝试使用 Android Studio 4.1 Canary 5 及更高版本。

您可以看到数据库检查器的样子 here

您可以下载相应的版本here


C
Community

像服务器端数据库一样使用android sqlite

请按照下列步骤操作:

找到数据库工具窗口并单击它,如下图所示

https://i.stack.imgur.com/H2o9u.png

单击加号图标并选择 Android SQLite 如下图所示

https://i.stack.imgur.com/ce9cX.jpg

将您的 android 设备连接到您的计算机 选择您关心的包并选择如下图所示的数据库 在上述所有这些步骤之前,您必须确保您具有访问文件的正确权限:/data/data//database/databasefile.db

完成所有这些步骤后,您将看到如下数据库内容:

https://i.stack.imgur.com/ODTOQ.jpg

https://i.stack.imgur.com/waW76.jpg

最后重要的是

每次更新数据库数据时,您都必须单击更新图标。

https://i.stack.imgur.com/Yy8NU.png

希望这对你有用!谢谢 !


M
Martin Zeitler

Android Studio 自 4.1 版以来捆绑了一个 Database Inspector

但它有一个限制:

Database Inspector 仅适用于 API 级别 26 及更高级别的 Android 操作系统中包含的 SQLite 库。它不适用于您与应用程序捆绑的其他 SQLite 库。


S
Saddan

我想知道为什么这里没有提到这个解决方案!

...在 Android Studio 4.1 及更高版本中...

1.Run your app on an emulator or connected device running API level 26 or higher.

2.Select View > Tool Windows > Database Inspector from the menu bar.

3.Select the running app process from the dropdown menu.

4.The databases in the currently running app appear in the Databases pane. Expand the node for the database that you want to inspect.

https://i.stack.imgur.com/ouGD3.png


我更新了 Android Studio,他们将其更改为 App 检查器。该死的,花了将近半个小时弄清楚 Database Inspector 在哪里。哈哈。我还应该遵循发行说明。
m
minato

在北极狐工作室中,它位于底部工具栏中的“应用检查”

https://i.stack.imgur.com/Px7To.png


A
Asyraf Arifin

我使用的是 Windows 7,我的设备是模拟的 android 设备 API 23。我想它对于任何真实设备都是一样的,只要它是 root 并且 API 不高于 23

转到工具 -> Android -> Android 设备监视器。转到文件资源管理器。就我而言,它位于 data/data//app_webview/databases/file_0/1

我必须在名为“1”的文件末尾手动添加 .db


l
lawrghita

它是其他答案的组合,有一个加号

为 SQLite 安装 DB 浏览器 从设备文件资源管理器中获取 MyBase.db 的确切位置,例如“/data/data/com.whatever.myapp/databases/MyBase.db” 将项目窗口从 Android 设置为 Project - 这样你就可以看到文件(build.gradle,gradle.properties,...等) 在项目窗口中右键单击并选择在终端中打开 在终端中,您现在位于硬盘的应用程序的根目录中,因此执行: adb pull /data/data /com.whatever.myapp/databases/MyBase.db 现在在 Android Studio 的 Project 窗口中,您有一个文件“MyBase.db” 从 Project 中双击您的 db 文件,您现在可以在 DB Browser 中浏览/编辑您的数据库您已经准备好在数据库浏览器中进行写入更改,以便将数据库保存在硬盘上 在终端中使用以下命令:adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db 您刚刚从硬盘发送到设备编辑的数据库。