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

React Native Release包未加载最新代码问题咨询

React Native Release包不加载最新代码的排查方案

一、补全React Native打包配置

你的project.ext.react仅配置了enableHermes,虽然默认bundleInRelease为true,但显式声明关键配置可避免潜在的默认值覆盖问题。修改配置如下(需放在apply from: "../../node_modules/react-native/react.gradle"之前):

project.ext.react = [
    enableHermes: true,
    bundleInRelease: true, // 强制开启Release模式下的JS打包
    devDisabledInRelease: true // 确保Release模式彻底禁用开发模式
]

二、清理所有缓存后重新构建

Gradle和React Native的缓存是旧代码残留的常见原因,执行以下命令彻底清理:

  • 清理Android构建缓存:
cd android && ./gradlew clean
  • 清理React Native项目缓存:
npx react-native clean
  • 重新构建Release包:
npx react-native run-android --variant=release

三、验证Hermes字节码编译

由于启用了Hermes,需确保JS代码被重新编译为Hermes字节码:

  1. 先手动执行打包命令生成最新bundle:
npx 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/
  1. 再执行Release构建命令,确认最新代码是否被打包进APK。

四、检查APK内的bundle文件

如果以上步骤无效,直接验证APK内的bundle是否为最新:

  1. 找到Release APK路径:android/app/build/outputs/apk/release/app-release.apk
  2. 解压APK,查看assets/index.android.bundle(或Hermes的index.android.bundle.hbc)内容,确认是否包含最新代码改动。若仍为旧代码,说明打包任务未被触发。

五、检查构建任务执行状态

执行构建时添加日志参数,确认打包任务是否运行:

npx react-native run-android --variant=release --info

在日志中搜索bundleReleaseJsAndAssets,确认该任务被触发。若未执行,检查是否有自定义Gradle任务覆盖了默认流程,或inputExcludes配置错误排除了JS文件(当前配置["android/**", "ios/**"]无问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:22:15