React Native中SQLite创建的empRecordData.sqlite数据库文件位置查询
找不到React Native SQLite生成的数据库文件?这是关键原因和解决方法
我之前也踩过这个坑!React Native里的SQLite数据库不会存放在你的本地项目文件夹里——它们被存储在设备/模拟器的应用专属沙盒中(移动应用的安全隔离机制,每个应用都有独立的私有存储区域),所以你在项目目录里全量搜索肯定找不到。下面分平台给你具体的查找路径和操作方法:
iOS 平台(模拟器/真机)
- 模拟器操作步骤:
- 打开Xcode,点击顶部菜单栏的
Window > Devices and Simulators - 在左侧选中你的目标模拟器,然后在右侧列表找到你的应用,点击底部的「Download Container」把应用沙盒下载到本地
- 右键下载好的容器文件,选择「显示包内容」
- 进入
AppData/Documents目录,就能找到你的empRecordData.sqlite文件了
- 打开Xcode,点击顶部菜单栏的
- 真机操作步骤:
同样通过Xcode的「Devices and Simulators」窗口下载应用容器,后续步骤和模拟器一致(需要真机已连接Xcode并信任开发者)
Android 平台(模拟器/真机)
- 模拟器操作步骤:
- 打开Android Studio,点击右侧边栏的「Device File Explorer」(如果没显示可以通过
View > Tool Windows > Device File Explorer调出) - 导航到路径:
data/data/<你的应用包名>/databases/
(应用包名可以在项目的android/app/src/main/AndroidManifest.xml里的package字段,或者app.json的android.package中找到) - 在这里就能看到
empRecordData.sqlite文件,还可以直接右键「Save As」导出到本地
- 打开Android Studio,点击右侧边栏的「Device File Explorer」(如果没显示可以通过
- 真机操作步骤:
如果真机没有Root权限,可以用adb命令导出:# 第一步:把数据库文件复制到SD卡(需要应用开启调试模式) adb shell run-as <你的应用包名> cp databases/empRecordData.sqlite /sdcard/ # 第二步:从SD卡拉取到本地电脑 adb pull /sdcard/empRecordData.sqlite
快速定位路径的小技巧
你还可以在代码里直接打印数据库的实际存储路径,这样能更精准地找到它:
var db = SQLite.openDatabase( { name: 'empRecordData.sqlite', location: 'default' }, () => { // 成功打开数据库后打印路径 console.log('Database path:', db._db._path); }, (err) => { console.error('Failed to open database:', err); } );
运行应用后,查看React Native的调试日志(比如通过Chrome调试或Flipper),就能看到具体的路径,再对应平台去查找即可。
内容的提问来源于stack exchange,提问作者ABHISHEK SONI




