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

React Native 构建成功却安装旧版本,如何安装最新版本?

解决React Native应用安装后显示旧版本的问题

看起来你碰到的核心问题是react-native run-android执行时,JS资产打包步骤被跳过,导致设备上运行的还是旧代码。既然AVD能正常跑最新版本,那大概率是缓存或者打包触发机制出了问题,试试下面这些针对性的解决方案:

1. 强制触发JS资产打包

直接绕开自动判断逻辑,强制执行打包和安装:

# 方案一:带参数强制打包
react-native run-android --variant=debug --no-packager

# 方案二:先单独打包再安装
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
react-native run-android

2. 彻底清理缓存

缓存是旧代码残留的重灾区,全方位清一遍:

  • 清理React Native的JS缓存:
npm start -- --reset-cache
# 如果用yarn的话换成这个
yarn start --reset-cache
  • 清理Android Gradle的构建缓存:
cd android
./gradlew clean
cd ..

清理完成后再重新执行react-native run-android

3. 关闭Gradle离线模式

如果Gradle开启了离线模式,会复用旧的构建产物,导致新代码没被打包:

  • 打开Android Studio,进入File > Settings > Build, Execution, Deployment > Build Tools > Gradle,确保Offline work选项未勾选
  • 或者直接用命令行禁用离线构建:
cd android
./gradlew assembleDebug --no-offline
cd ..

4. 手动删除旧打包文件

如果上面的方法都没效果,直接删掉生成的bundle文件,让系统重新生成:

  • 找到android/app/src/main/assets/index.android.bundle文件删除
  • 删掉android/app/src/main/res/目录下所有以drawable-开头的文件夹里的静态资源
  • 之后再执行react-native run-android

5. 清理设备端调试缓存

如果是在物理设备上运行,设备本身可能缓存了旧JS代码:

  • 打开应用,摇一摇设备(或用快捷键Ctrl+M/Command+M)调出调试菜单
  • 选择Dev Settings,点击Clear Cache,之后重启应用

你可以从第一点开始尝试,一步步排查,应该能解决旧版本残留的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:01:23