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

EAS Android生产构建安装后首次启动崩溃问题求助

排查Galaxy设备首次启动崩溃(libjscexecutor.so加载失败)问题

核心问题定位

日志里的libjscexecutor.so加载失败和Hermes异常大概率直接关联——React Native项目中可能存在JSC与Hermes引擎的配置冲突,或是ABI架构适配不到位,导致Galaxy主流arm64-v8a架构设备首次启动时无法正确加载对应架构的引擎库。

排查与修复步骤

  • 确认Hermes配置有效性
    检查app.json/app.config.js中Hermes是否正确启用:

    "android": {
      "hermesEnabled": true,
      "enableDexingArtifactTransform": true
    }
    

    同时确保package.json里react-native版本与Expo版本完全匹配,避免跨版本兼容性问题。

  • 锁定ABI架构适配
    Galaxy设备多为arm64-v8a架构,修改eas.json的生产构建配置,指定单一ABI过滤:

    "build": {
      "production": {
        "android": {
          "gradleCommand": ":app:assembleRelease",
          "ndk": {
            "abiFilters": ["arm64-v8a"]
          }
        }
      }
    }
    

    避免多架构打包导致库文件冲突,防止系统首次启动时加载错误架构的libjscexecutor.so。

  • 彻底清理构建缓存
    执行命令清除本地及EAS远程缓存,避免旧编译产物干扰:

    expo prebuild --clean
    eas build --clear-cache
    
  • 检查expo-updates配置
    确保更新模块配置未干扰引擎初始化:

    "updates": {
      "enabled": true,
      "fallbackToCacheTimeout": 0
    }
    

    过长的缓存超时可能导致首次启动时引擎加载逻辑混乱。

  • 移除冗余JSC依赖
    若已启用Hermes,检查package.json是否残留react-native-jsc-android等JSC相关依赖,直接删除这类冗余包,消除引擎初始化冲突。

额外测试建议

  • 用adb安装APK并实时抓取崩溃日志:
    adb logcat *:E ReactNative:V ReactNativeJS:V
    
    捕捉首次崩溃的完整堆栈,确认是库加载失败还是Hermes初始化的具体异常。
  • 构建Android调试版APK在Galaxy设备测试,判断问题是生产构建特有还是通用引擎加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:57:12