React Native Expo Android项目SQLite数据库存储位置咨询
React Native Expo Android SQLite 数据库路径说明
Expo Go 调试模式
当你用Expo Go运行项目时,数据库不会存储在你的项目包名下,而是在Expo Go宿主应用的隔离目录里,路径格式为:
/data/data/host.exp.exponent/files/ExperienceData/@<你的Expo用户名>/<项目名称>/SQLite/
比如你的Expo用户名是prifulnath,项目名是my-app,路径就是:
/data/data/host.exp.exponent/files/ExperienceData/@prifulnath/my-app/SQLite/
独立构建(APK/AAB)模式
如果你已经将项目打包成独立的Android应用,数据库会存储在你的应用包名下,路径为:
/data/data/<你的应用包名>/files/SQLite/
这里的包名就是你app.json里配置的android.package字段值。
如何获取数据库文件
如果Android Studio的Device File Explorer无法直接访问(比如权限限制),可以用adb命令拉取:
- 先确认目标目录:
adb shell ls /data/data/host.exp.exponent/files/ExperienceData/ - 拉取数据库文件到本地:
adb pull /data/data/host.exp.exponent/files/ExperienceData/@<用户名>/<项目名>/SQLite/your-db-name.db ./ - 独立构建项目的拉取命令,替换对应包名即可:
adb pull /data/data/<你的包名>/files/SQLite/your-db-name.db ./
为什么Android Studio里找不到对应文件夹?
- Expo Go模式下,你的项目数据属于
host.exp.exponent(Expo Go的包名),所以要找这个包的文件夹,不是你自己项目的包名。 - Android 11及以上系统对应用目录有严格的权限限制,Device File Explorer默认无法直接查看
/data/data下的内容,需要通过adb run-as命令或者adb pull来获取文件。
内容的提问来源于stack exchange,提问作者Prifulnath
相关产品推荐
相关产品推荐

