docs(upgrade): record android 13.6.1 native OpenGL compile PASS
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
@@ -18,3 +18,11 @@
|
||||
- 76 个冲突路径已处理、没有未合并 index 条目;RDC 已检查 Git history 和 Native 代码空白格式。
|
||||
- 与旧发布的 Particle/QBIN/RenderSegment 功能是否能够完整编译、正确渲染仍未验证。本任务目标保持进行中;下一 Gate 为 Android Native 精确编译。
|
||||
- 本检查点只能称为 `SOURCE_MERGED / BUILD_NOT_RUN`,不是 Android/iOS SDK PASS。
|
||||
|
||||
## Gate 2 / 2026-10-09 / RDC Native 编译实际结果
|
||||
|
||||
- 结果:Android x86_64 OpenGL Native **PASS**(Gradle `BUILD SUCCESSFUL in 22m 24s`;进程退出码 0),编译提交 `a4b5f4eaa0eccb734e00d67adb5e750bba320404`。
|
||||
- 产物:`MapLibreAndroid/build/intermediates/cmake/openglDebug/obj/x86_64/libmaplibre.so`,`377246848` bytes,SHA-256 `ff5a5eb45f84ff633a87fe385fb04ee39ba63ed3bc486003408e02cea78c8907`。
|
||||
- 已排除的构建阻塞:新 worktree 的 cheap-ruler-cpp、tile-spec/earcut、supercluster LICENSE 依赖检出缺失;按 Git 固定提交恢复,无需修改产品源码。
|
||||
- 未完成项:其余 ABI、Android 安装/真机 GPU、Vulkan、RN 11.5.0、iOS Metal、发布均 NOT RUN;STEP-104 为 **PARTIAL**(阶段 A Native 编译 Gate 通过,产品发行 Gate 未开始)。
|
||||
- 下一步:Android 多 ABI + 真实 GPU/Style/RenderSegment 功能验收,再进入 RN 11.5.0 公共桥接联调。
|
||||
|
||||
64
docs/报告/STEP-104_官方Native13.6.1升级阶段A_Codex完成报告_v1.md
Normal file
64
docs/报告/STEP-104_官方Native13.6.1升级阶段A_Codex完成报告_v1.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# STEP-104 官方 Native 13.6.1 升级阶段 A — Codex 完成报告 v1
|
||||
|
||||
## 1. 执行结论
|
||||
**PARTIAL:官方 Native 13.6.1 + Particle .21 源码移植已完成三方合并,Android x86_64 OpenGL Native 编译链接 PASS;其他 ABI、GPU 视觉/行为、RN 与 iOS 未验收。** 不是正式发布结论。
|
||||
|
||||
## 2. 执行模型与人员分工
|
||||
- Codex:`gpt-6.1-sol`,`high`,真实会话 `turn_context` 已由 RDC 独立核对。
|
||||
- Codex 负责源码冲突、接口调整和静态核对;RDC 负责 Git 真实合并/index/commit、submodule 和 Native 构建;未切换其他模型。
|
||||
- 所有操作在隔离工作树 `/Users/tei/dev/MapLibreParticleLab-upgrade-android-1361`,branch `upgrade/android-native-13.6.1-20261009`;未修改 NavSea、正式 .21、Integration 合同或 iOS 专用行为。
|
||||
|
||||
## 3. Git 基线与多个提交
|
||||
- 官方新底座:Android Native 13.6.1,`c7506d6aff3800e946f89e1a51432fc22d1a6534`。
|
||||
- 旧自研扩展:发布 .21 `630ec657687bad4200c059bbccbb950d9c6f7ce9`,完整历史及审计闭环 `b433775348373b10fba02dc0e1f728bacd72f9e7`。
|
||||
- `e4c7af7c401aebc0fdb9d85309ad781e328baff4`:升级任务与根目录 `recoder_step.md` 的启动检查点。
|
||||
- `f8378fd7113c4d230500f0b82902d2356907f4a9`:两父三方合并,将自研 Particle 与 RenderSegment 移植至官方 13.6.1(提交时未编译)。
|
||||
- `a4b5f4eaa0eccb734e00d67adb5e750bba320404`:补充真实合并进度与风险记录。
|
||||
- 本报告对应的构建发生在 `a4b5f4eaa0` 上。本文及后续 Gate 记录另作独立收尾 commit,不修改已验证的 Native 产品代码;最终 HEAD 和远端结果以实际 Git 命令回填。
|
||||
|
||||
## 4. 主要源码调整
|
||||
- 自研 Field、Ingress、QBIN、WeatherColor、RasterParticle 代码迁移到官方 `include/mln`、`src/mln` 路径,不恢复旧 `mbgl` 产品目录。
|
||||
- 合并官方与 .21 的 Source/Layer Factory、Shader manifest 与 OpenGL 建置注册,保留官方 CustomMVTVector 和现有 RasterArray。
|
||||
- 适配 RenderLayer 新 `PaintParameters` 参数和 `renderableSize`,同步保留 RenderSegment/Retained、fast-path、revision、source-scoped fail-closed、observer 与资源清理。
|
||||
- Android JNI 自研入口及官方 Feature State 入口的静态声明/注册核对,未重新定义 RN 公共 API。
|
||||
|
||||
## 5. 冲突与格式检查
|
||||
- `git merge --no-ff --no-commit` 初始 76 个未合并路径;Codex 清除冲突标记,RDC 确认 `git ls-files -u` 为 0 后完成合并提交。
|
||||
- 新版 Native 源码范围的 `git diff --check` PASS。整体 merge 中有 3 份历史文档保留自旧版的尾随空格,逐字节确认来自 .21 源提交,未篡改历史文档。
|
||||
- 源码状态以本次 Git branch 和原生编译证据为准,静态检查不替代行为验收。
|
||||
|
||||
## 6. Native 构建记录
|
||||
- 环境:Mac,Homebrew OpenJDK 17,Android SDK/NDK `28.2.13676358`,SDK CMake 3.31.6;ABI=`x86_64`,Renderer=OpenGL,BuildType=Debug。
|
||||
- 标准命令(`platform/android`;先 export JAVA_HOME/ANDROID_HOME/ANDROID_SDK_ROOT):
|
||||
|
||||
```bash
|
||||
./gradlew --no-daemon --max-workers=3 --console=plain -Pmaplibre.abis=x86_64 :MapLibreAndroid:externalNativeBuildOpenglDebug
|
||||
```
|
||||
|
||||
- 首轮:CMake 因缺少 `vendor/maplibre-native-base/deps/cheap-ruler-cpp/include` 失败(新 worktree submodule 未初始化)。
|
||||
- 第二轮:CMake 因 `maplibre-tile-spec/cpp/vendor/earcut/CMakeLists.txt` 和 `mbgl-vendor-supercluster` license 缺失失败。
|
||||
- RDC 校验 top-level Native submodules 固定提交,恢复中断克隆导致的残缺 vendor 工作树;第三轮命令成功,Gradle `BUILD SUCCESSFUL in 22m 24s`,退出码 **0**。已执行真实 NDK 编译与动态库链接。
|
||||
- 第三轮原始构建日志保存于 Mac `/tmp/step104_android_native_opengl_gradle_third.log`;前两轮错误日志保存于同目录对应 `gradle.log` 与 `gradle_retry.log` 文件。
|
||||
|
||||
## 7. 产物证据
|
||||
- 完整路径:`/Users/tei/dev/MapLibreParticleLab-upgrade-android-1361/platform/android/MapLibreAndroid/build/intermediates/cmake/openglDebug/obj/x86_64/libmaplibre.so`。
|
||||
- 文件类型:ELF 64-bit LSB shared object、x86-64、dynamically linked、with debug_info、not stripped。
|
||||
- 大小:`377246848` bytes。
|
||||
- SHA-256:`ff5a5eb45f84ff633a87fe385fb04ee39ba63ed3bc486003408e02cea78c8907`。
|
||||
- 此产物未签名、未公开发布,不应作为 NavSea 正式依赖或全 ABI 发布件。
|
||||
|
||||
## 8. 实际测试与未测试范围
|
||||
- PASS:三方合并无未解决冲突、Native 编译器完成 x86_64 OpenGL 工程构建、最终 libmaplibre.so 链接。
|
||||
- NOT RUN:ARMv7、ARM64、其余 Android ABI、Android APK/实体机/虚拟机 GPU 视觉、QBIN/T0/T1 运行态、Pan/Zoom/Rotate、Style reset、RenderSegment retained 行为、Vulkan、RN 11.5.0 Feature State 联调、iOS Metal/XCFramework。
|
||||
- 未执行 Jest;未以静态推断伪报运行通过。
|
||||
|
||||
## 9. 已知问题与阻塞
|
||||
- GitHub 下载曾出现间歇性 DNS/HTTPS 超时;RDC 校正必要的 submodule HEAD 后完成编译。
|
||||
- Gradle/CMake 输出 SDK XML 版本、Gradle 10 弃用提示;本轮未导致失败。长期工具链调整需单独设计,不并入当前移植 Gate。
|
||||
- iOS/shared contract 更改不属于 Android 本轮权限;涉及跨平台共同语义须回 Integration 协调。
|
||||
|
||||
## 10. 下一阶段、停点与发布边界
|
||||
建议在**Android 多 ABI(armeabi-v7a / arm64-v8a / x86 / x86_64)Native 验证 + Test Host GPU 功能回归**处设置下一 Gate。下一阶段再独立验证 RN 11.5.0 的公共桥接与 Feature State,iOS 由对应负责方验证。当前不发布 AAR、npm,不改 NavSea 主线。
|
||||
|
||||
## 11. 收尾事实
|
||||
本次更新采用根目录 `recoder_step.md` append-only,并追加 STEP-104;Git 提交、远端分支、最终 HEAD、push 结果以 RDC 后续独立回读为准。未完成项如实保留。
|
||||
Reference in New Issue
Block a user