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

React Native安卓release包运行时执行fetch函数触发应用崩溃求助

问题根因定位

从你提供的崩溃日志可以直接定位直接崩溃原因:
com.facebook.react.bridge.UnexpectedNativeTypeException: Value for message cannot be cast from Boolean to String
异常栈最终指向DialogModule.showAlert,说明你在代码中调用React Native原生Alert弹窗时,传入的message参数是布尔值,而非要求的字符串类型。Release构建模式下RN不会做隐式类型转换,直接触发原生层的类型转换异常崩溃。

崩溃时机和fetch执行重合,是因为你在fetch请求的成功/异常处理逻辑中,调用了Alert弹窗提示结果,触发了上述类型错误。

已知代码潜在问题

  1. catch块变量名错误:你捕获异常的形参为err,但代码中打印的是未定义的error,如果后续逻辑中直接使用error变量会引发额外异常
  2. 如果你使用的serverurl是http明文协议地址,Android 9及以上系统正式包默认禁止明文请求,会导致fetch直接抛出异常,异常对象的属性如果未做类型处理就传入Alert,就会触发崩溃

排查修复步骤

  • 找到fetch请求关联的所有Alert.alert调用代码,检查第二个参数(message)的类型,所有非字符串内容必须用String(xxx)或者xxx.toString()显式转换为字符串后再传入
  • 临时注释fetch相关的所有Alert逻辑,打正式包测试是否还会崩溃,验证问题来源
  • 修正catch块的变量名错误,捕获异常后先完整打印err对象内容,确认异常结构后再取对应属性使用
  • 如果是http明文请求限制问题,在Android项目AndroidManifest.xml的application节点添加android:usesCleartextTraffic="true"配置,或者将请求地址升级为https协议

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:24:03