From 1567c673ea1915aeb3cc52ee4d2a2c6355a97330 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Mon, 22 Jun 2026 17:43:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(bugcollect):=20=E9=9B=86=E6=88=90=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7=E5=8C=96=E6=9C=8D=E5=8A=A1=E6=94=AF=E6=8C=81=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E5=A0=86=E6=A0=88=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 symbolicator 服务配置到 docker-compose.yml - 配置 bugcollect-service 连接 symbolicator URL - 设置 symbolicator 端口映射和资源限制 - 添加源码映射文件挂载目录 - 为 RN/Android/iOS/Flutter 堆栈符号化提供支持 docs(xwebview): 更新已知问题文档 - 记录 RN 0.85 Bridgeless 模式下 react-native-blob-util 崩溃问题 - 说明 react-native-blob-util 在 JSI/TurboModule 下初始化失败原因 - 提供宿主 app 使用 XWebViewContent 替代方案 - 添加待修复方案说明 --- packages/xwebview/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/xwebview/README.md b/packages/xwebview/README.md index e944771..ed6dc5c 100644 --- a/packages/xwebview/README.md +++ b/packages/xwebview/README.md @@ -131,3 +131,21 @@ const handle = await handleDownloadRequest(url, hintFilename, { | `startDownload(url, filename, savePath?, conflict, onProgress, onComplete, onError)` | 开始下载,返回 DownloadHandle | 详细 handler 列表见 `@xuqm/rn-common` 的 `xwebview/` 目录。 + +## 已知问题 + +### RN 0.85 Bridgeless 模式下 `react-native-blob-util` 崩溃 + +**现象**:宿主 app 使用 RN 0.85 Bridgeless 模式时,引入 `XWebViewView` 会触发 +`XWebViewDownload.ts` 中 `react-native-blob-util` 的模块级初始化,导致 +`Cannot read property 'getConstants' of null`。 + +**根因**:`react-native-blob-util` 目前在 RN 0.85 JSI/TurboModule 路径下 `ReactNativeBlobUtil` +原生模块为 `null`,`PackageList.java` 的旧架构注册方式不足以在 Bridgeless 模式下完成初始化。 + +**临时方案**:宿主 app 的 `XWebViewContent` 直接使用 `react-native-webview`, +跳过 `XWebViewView`,功能对等(无下载拦截和 JSBridge,纯内容展示场景够用)。 + +**待修复**: +- 升级 `react-native-blob-util` 到支持 Bridgeless 的版本,或 +- 在 `XWebViewDownload.ts` 中对 `ReactNativeBlobUtil` 为 null 做防御,延迟到实际下载时才初始化