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

Expo分离后不升级应用,如何恢复React Native的Android和iOS文件夹

重新生成Expo分离后React Native项目的Android/iOS文件夹(不升级版本)

没问题,我来帮你一步步解决这个问题——核心是锁定依赖版本避免自动升级,再通过React Native CLI重新生成原生文件夹。

第一步:备份项目(重中之重)

先给你的项目做个完整备份,重点保存这些文件:

  • package.json(依赖版本配置)
  • app.json/app.config.js(Expo项目核心配置)
  • 所有业务代码目录(比如src/)
  • 之前自定义过的原生配置片段(如果有修改过Android/iOS文件夹里的内容)

备份能防止意外覆盖重要配置,让你放心操作。

第二步:锁定依赖版本,杜绝自动升级

打开package.json,把关键依赖的版本改成精确值(去掉^或~前缀),比如:

{
  "react-native": "0.72.3",
  "expo": "49.0.0",
  "expo-splash-screen": "0.20.5"
}

这些版本号必须和你删除原生文件夹之前的版本完全一致,这样后续安装依赖时才不会悄悄升级。

第三步:重新安装指定版本的依赖

先清理现有依赖和锁文件,确保安装的是你指定的版本:

  • 用npm的话:
    rm -rf node_modules package-lock.json
    npm install
    
  • 用yarn的话:
    rm -rf node_modules yarn.lock
    yarn install
    

第四步:重新生成Android和iOS文件夹

在项目根目录运行以下命令(把<你的RN版本>替换成package.json里react-native的精确版本,比如0.72.3):

npx react-native init --version <你的RN版本> .

注意命令最后的.,表示在当前目录初始化,CLI会生成干净的Android和iOS文件夹,同时保留你现有的业务代码和配置文件(不过可能会覆盖package.json里的部分默认配置,之后记得对比备份文件恢复你的自定义内容)。

第五步:适配Expo分离项目的额外配置

因为是从Expo分离出来的项目,生成原生文件夹后需要补全Expo相关配置:

  1. 检查app.json里的expo字段,确保name、slug、ios.bundleIdentifier、android.package这些信息和之前完全一致。
  2. 如果你之前用了Expo第三方模块(比如expo-camera、expo-location),运行npx pod-install(针对iOS)确保依赖安装完成,大部分Expo模块已经支持自动链接,无需手动配置。

最后验证

运行项目测试是否正常:

  • Android:npx react-native run-android
  • iOS:npx react-native run-ios

如果遇到签名、权限缺失等问题,直接从备份的原生文件夹里把对应的配置代码复制过来即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:29:16