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

求助:React Native调试APK启动崩溃,报错Undefined is not an object (Evaluating 'Sn[e]')

React Native Debug Build Crash After Upgrade to 0.55 (assembleDebug APK Fails)

我之前碰到过几乎一模一样的情况!升级RN版本后,react-native run-android能正常跑,但用gradlew assembleDebug打出来的包一启动就崩,而且日志还没有效信息,折腾了好一阵才解决。结合你的描述,大概率是旧构建缓存和新版本RN不兼容的问题,给你几个亲测有效的解决方案:

  • 先彻底清掉所有构建缓存和依赖,这是最常见的解决办法:
    打开终端依次执行这些命令(别用sudo,权限太高容易搞出文件权限问题):

    cd android
    ./gradlew clean
    rm -rf .gradle
    rm -rf app/build
    cd ..
    rm -rf node_modules
    npm install
    

    清理完再重新打assembleDebug包试试,很多时候这一步就能解决问题。

  • 检查android/app/build.gradle的调试构建配置,确保没意外开启了优化:
    有些时候升级后Gradle配置会被默认修改,调试包开启了混淆或资源压缩就会崩。在buildTypes的debug块里加上这些配置:

    android {
        buildTypes {
            debug {
                minifyEnabled false
                shrinkResources false
                zipAlignEnabled false
            }
        }
    }
    
  • 强制生成新的JS Bundle
    有时候assembleDebug会复用旧的JS Bundle,和新的原生代码不匹配。可以手动生成一次再打包:

    react-native bundle --platform android --dev true --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    

    生成完再执行./gradlew assembleDebug。

  • 用adb logcat抓详细崩溃日志
    你说异常信息没用,试试用这个命令过滤错误日志:

    adb logcat *:E
    

    安装崩溃的APK后启动,就能看到具体的崩溃堆栈,比如是哪个原生模块加载失败,或者JS端的错误,能帮你精准定位问题。

我当时就是用第一步的清理方法解决的,毕竟升级RN后,旧的Gradle缓存和node_modules里的依赖残留很容易导致这种“局部正常、打包崩溃”的奇怪问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:00:48