docs: record STEP-060 RN bridge test host

This commit is contained in:
OpenAI Codex
2026-09-07 16:10:34 +08:00
parent 4c906b21fb
commit 5c6fa2c668
4 changed files with 100 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
# STEP-060 RN Test Host Android 人工编译与验收
本说明只列出人工步骤;Codex 未执行 Android Gradle、发布、安装或 ADB。
1. 在当前 `particle/main` 编译并发布 custom OpenGL SDK:`cd platform/android && ./gradlew :MapLibreAndroid:publishToMavenLocal`。确认 `~/.m2/repository/org/maplibre/gl/android-sdk-opengl/13.4.1/` 是当前提交生成;建议先移走任何旧的同版本 artifact。
2. `cd integration/react-native/MapLibreParticleRNTestHost && yarn install && npx expo prebuild --platform android --clean`。检查生成 root Gradle 有 `MapLibreParticleRNTestHost custom OpenGL SDK` 标记、`nativeVersion=13.4.1`、`nativeVariant=opengl`,并且 Maven Central 对 `org.maplibre.gl` 被排除。
3. 用 JDK 17、AGP 8.5.0、Gradle 8.14.3、Kotlin 2.1.20、NDK 27.1.12297006、compile/targetSdk 36 编译/安装 Test Host;确认 Hermes 与 New Architecture 开启。
4. 启动后确认单一地图正常加载。style ready 后应显示 reactTag 和 `WAITING_FOR_FIELDS`,不提交 field 时粒子/色场为空是预期。
5. 对同一 reactTag 依次验证 Phase A:getState、enable、WeatherColor visible、particle visible、FPS 30 均得到结构化 Native result。
6. 验证 Phase B:PLAY/PAUSE、HALF/NORMAL/DOUBLE、epoch-ms seek、stops、独立 particle/trail RGBA、count/line/length/opacity/fade/WeatherColor opacity。不得出现 JS `PLAYING/PAUSED` 第二状态机。
7. 重载 style:旧 Runtime 必须 disposed;style ready attach 的新 Runtime 正常工作。remount Map 后,用旧 reactTag 调用必须返回 `MAP_VIEW_NOT_FOUND`,不得命中新 Map。
8. 卸载 Host:确认 view detach dispose;无持续 Handler wake、无全局 current map。STEP-061 前不要尝试 number[]、JSON/base64 大 field。