You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Expo-Sqlite的数据库文件?用于React Native项目

找到Expo-Sqlite数据库文件的可行方案

Expo-Sqlite的数据库默认存在Expo专属的沙箱目录里,不像react-native-sqlite-storage那样直接暴露在常规文件路径下,所以直接找确实找不到,但可以通过下面几种方式导出或访问:

1. 用Expo FileSystem导出到可访问目录

先明确数据库的默认路径:FileSystem.documentDirectory + 'SQLite/你的数据库名.db',然后用FileSystem的复制API把文件转移到设备的公共目录(比如Documents),之后就能用设备自带的文件应用找到它:

import * as FileSystem from 'expo-file-system';
import * as SQLite from 'expo-sqlite';

const db = SQLite.openDatabase('你的数据库名.db');

async function exportDatabase() {
  const sourcePath = FileSystem.documentDirectory + 'SQLite/你的数据库名.db';
  const targetPath = FileSystem.documentDirectory + 'Documents/你的数据库名.db';
  
  await FileSystem.copyAsync({
    from: sourcePath,
    to: targetPath
  });
  
  console.log('数据库已导出到:', targetPath);
}

2. 开发时直接用Expo DevTools编辑

开发模式下打开Expo DevTools(一般是http://localhost:19002),找到Database标签页,就能直接查看、编辑数据库内容,完全不用导出文件,效率更高。

3. 针对模拟器的快速提取

  • iOS模拟器:打开Xcode的「Devices and Simulators」,找到你的Expo应用,进入沙箱的Documents/SQLite目录,直接把数据库文件拷贝出来。
  • Android模拟器:用adb命令拉取文件,先确定路径(一般是/data/data/host.exp.exponent/files/ExperienceData/你的项目ID/SQLite/你的数据库名.db),然后执行:
adb pull /data/data/host.exp.exponent/files/ExperienceData/你的项目ID/SQLite/你的数据库名.db ./本地保存路径/

如果是已发布的正式应用,沙箱权限更严,只能通过上面的FileSystem导出方法,再集成文件分享功能(比如发送到邮箱)来获取数据库文件。

内容的提问来源于stack exchange,提问作者Bossburnz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 18:15:11