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

使用Expo ESA构建APK后应用崩溃问题及解决方案

Expo ESA构建APK启动崩溃(本地运行正常)的解决方法

我在使用Expo开发React Native应用时遇到了一个棘手问题:本地通过expo start运行完全正常,但用Expo ESA构建的APK安装到手机后,每次打开都会直接崩溃,报错信息如下:

com.facebook.react.common.JavascriptException: TypeError: undefined is not a function, js engine: hermes, stack:
anonymous@1:1143129
loadModuleImplementation@1:106186
guardedLoadModule@1:105735
metroRequire@1:105363
anonymous@1:1142534
loadModuleImplementation@1:106186
guardedLoadModule@1:105735
metroRequire@1:105363
anonymous@1:724292
loadModuleImplementation@1:106186
guardedLoadModule@1:105735
metroRequire@1:105363
anonymous@1:112516
loadModuleImplementation@1:106186
guardedLoadModule@1:105692
metroRequire@1:105363
global@1:104947
    at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:72)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
    at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
    at com.facebook.jni.NativeRunnable.run(Native Method)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
    at android.os.Looper.loopOnce(Looper.java:210)
    at android.os.Looper.loop(Looper.java:299)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
    at java.lang.Thread.run(Thread.java:1012)

试过这些方法都没解决问题:

  • 执行expo doctor检查项目配置
  • 更新所有依赖包
  • 接入Sentry监控,但崩溃时未生成任何日志

最终解决方案

耗时一周终于找到问题根源——之前误将package-lock.json加入了.gitignore文件,把它从.gitignore中移除后,重新构建APK安装,应用就能正常启动了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:13:28