You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React Native中SQLite创建的empRecordData.sqlite数据库文件位置查询

找不到React Native SQLite生成的数据库文件?这是关键原因和解决方法

我之前也踩过这个坑!React Native里的SQLite数据库不会存放在你的本地项目文件夹里——它们被存储在设备/模拟器的应用专属沙盒中(移动应用的安全隔离机制,每个应用都有独立的私有存储区域),所以你在项目目录里全量搜索肯定找不到。下面分平台给你具体的查找路径和操作方法:

iOS 平台(模拟器/真机)

  • 模拟器操作步骤
    1. 打开Xcode,点击顶部菜单栏的 Window > Devices and Simulators
    2. 在左侧选中你的目标模拟器,然后在右侧列表找到你的应用,点击底部的「Download Container」把应用沙盒下载到本地
    3. 右键下载好的容器文件,选择「显示包内容」
    4. 进入 AppData/Documents 目录,就能找到你的 empRecordData.sqlite 文件了
  • 真机操作步骤
    同样通过Xcode的「Devices and Simulators」窗口下载应用容器,后续步骤和模拟器一致(需要真机已连接Xcode并信任开发者)

Android 平台(模拟器/真机)

  • 模拟器操作步骤
    1. 打开Android Studio,点击右侧边栏的「Device File Explorer」(如果没显示可以通过 View > Tool Windows > Device File Explorer 调出)
    2. 导航到路径:data/data/<你的应用包名>/databases/
      (应用包名可以在项目的 android/app/src/main/AndroidManifest.xml 里的 package 字段,或者 app.jsonandroid.package 中找到)
    3. 在这里就能看到 empRecordData.sqlite 文件,还可以直接右键「Save As」导出到本地
  • 真机操作步骤
    如果真机没有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

火山引擎 最新活动