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

React Native Android生产环境无法加载index.android.bundle打包错误

React Native Android生产环境index.android.bundle加载失败解决方案(RN 0.70.6 + SDK33)

1. 确认bundle是否被正确打包进AAB

执行以下命令解压生成的AAB文件,检查bundle是否存在:

unzip app-release.aab -d temp_aab
ls temp_aab/base/assets/

如果index.android.bundle不存在或文件大小异常(远小于本地调试版本),说明打包过程未正确生成或嵌入bundle。

2. 检查gradle构建配置中的bundle生成逻辑

打开android/app/build.gradle,确认以下配置是否正确:

  • 确保project.ext.react中开启release打包时生成bundle:
    project.ext.react = [
        bundleInRelease: true,
        // 其他配置...
    ]
    
  • 确认release构建类型依赖bundleJsAndAssets任务:
    android {
        buildTypes {
            release {
                // 其他配置...
                dependsOn bundleJsAndAssets
            }
        }
    }
    

升级gradle后默认任务依赖可能被覆盖,手动添加可确保bundle被生成并嵌入。

3. 排查NDK版本兼容性问题

NDK从21升级到23可能与RN 0.70.6的JNI底层实现存在兼容性冲突,可尝试以下调整:

  • 在gradle.properties中临时指定NDK版本为21.x验证问题:
    android.ndkVersion=21.4.7075529
    
  • 检查OneSignal版本是否适配NDK23与SDK33,确保使用官方标注兼容的最新版本。

4. 验证Google Play交付配置

Google Play的App Signing或优化机制可能导致bundle丢失:

  • 登录Google Play Console,进入发布 > 设置 > 应用签名,确认未开启可能影响assets的优化选项;
  • 临时关闭APK优化验证:在android/app/build.gradle中添加以下配置,重新构建AAB上传测试(正式发布需恢复混淆配置):
    android {
        buildTypes {
            release {
                shrinkResources false
                minifyEnabled false
            }
        }
    }
    

5. 清理构建缓存

升级gradle后缓存可能存在冲突,执行以下命令彻底清理后重新构建:

# 清理gradle缓存
./gradlew clean
rm -rf android/.gradle android/app/build
# 清理RN缓存
npx react-native clean

重新执行./gradlew bundleRelease生成AAB。

6. 调整gradle版本至RN 0.70.x兼容版本

RN 0.70.6官方推荐的gradle wrapper版本为7.4.2,升级至7.5.1可能存在兼容性问题:

  • 修改android/gradle/wrapper/gradle-wrapper.properties中的版本:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
    

构建工具版本7.3.1与RN 0.70.x兼容,无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:31:19