Files
MapLibreParticleLab/docs/50_Step记录/STEP-060A_RNTestHost编译前修正_v1.md
2026-09-07 19:32:16 +08:00

1.8 KiB
Raw Permalink Blame History

STEP-060A RN Test Host 编译前修正

状态:完成(READY_ANDROID_VALIDATION)

基线与目标

Starting HEAD:6a99f1a1424ce7e30c26e825251df956a46bf4c4,分支 particle/main。本 Step 只修正 STEP-060 的 Codegen Kotlin override blocker 与 npm/package 文档契约;不进入 STEP-061,未改 RN ownership、MapLibre renderer、timeline 或 field contract。

完成项

  • 以当前 RN 0.85.2 安装源码的 @react-native/codegen/lib/generators/modules/GenerateModuleJavaSpec.js 核对:必选方法生成 public abstract,Promise 末尾追加 Promise promise。
  • 为 JS NativeWeatherRuntimeBridge.ts 的 20 个方法全部补齐 Kotlin override;签名逐项脚本核对,未发现额外 Spec mismatch。
  • Test Host 统一为 npm@10.9.4 声明与 package-lock.json;不新增 yarn.lock。
  • README/人工验收命令统一 npm ci;实际 npm ci --ignore-scripts 可通过,不需要 --legacy-peer-deps。
  • 文档明确 Android toolchain 数值目前是验收目标;首次 Expo prebuild 后才检查实际 Gradle/AGP/Kotlin/SDK/NDK/Hermes/New Architecture。

验证与边界

执行 npm ci --ignore-scripts --no-audit --no-fund、throttle 下 npx tsc --noEmit、Node config syntax、package/lock 检查、Spec/override 一一检查、yarn 残留搜索与 git diff --check。未执行 Android Gradle、custom publish、Expo prebuild、APK、ADB、设备测试或 Jest。

Bridge 继续按 reactTag → Fabric UIManager → MLRNMapView → MapLibreMap → map-owned WeatherRuntime 工作;无 Adapter/Normalizer/第二 registry,未实现 Binary Field。

STEP-060B 补充:Test Host prebuild 观察到的 Gradle/AGP/NDK/SDK 值只描述其生成工程;Gate C 封存 Linux 环境继续是 current custom OpenGL AAR 的唯一构建基线,Maven Local 是两者之间的 handoff。