3.5 KiB
STEP-061 Android 最终验收报告 v1
日期:2026-09-09
结论:PASS
1. 验收对象
- 分支:
particle/main - Source commit:
4467adcce02db7f1bbbea1f4a829023c53085e39 - AAR:
org.maplibre.gl:android-sdk-opengl:13.4.1-step061 - Android Test Host:
D:\React\MapLibreParticleRNTestHost-Win11-STEP060-20260907 - Android 设备:
192.168.1.146
2. AAR 与 Maven
AAR 按固定命令构建:
JOBS=1 RENDERER=opengl BUILDTYPE=Release make apackage
构建输出确认 --max-workers=1,最终 BUILD SUCCESSFUL in 7m 10s。Maven Local publish 为 BUILD SUCCESSFUL in 20s。
Linux build output 与 Maven Local AAR SHA-256 均为:
40ec19724cbe0807c09c6acf9b7e6e0dac2f2498f1269b6bacdd35740a6cd77a。
CARBON7i 使用 curl.exe -L 并为 AAR/POM/module 分别使用新的 ?v= 下载;Win11 下载 AAR 与 Maven Local AAR SHA-256 均与 Linux 一致。
Bridge 与 MLRN 两条 dependencyInsight 均只解析到 org.maplibre.gl:android-sdk-opengl:13.4.1-step061,两次 Gradle 检查均 BUILD SUCCESSFUL。
3. APK 与启动环境
:app:assembleDebug:BUILD SUCCESSFUL in 1m 50s,206 actionable tasks,22 executed、184 up-to-date。- Manifest 保持
android:screenOrientation="landscape"。 - Metro
8091正常监听。 - ADB reverse:
tcp:8091 -> tcp:8091、tcp:8081 -> tcp:8091。 adb install -r:Success;.MainActivity正常启动。- 验收 PID:
24476。
4. Binary U/V runtime hard gate
首次进入时为预期初态:WAITING_FOR_FIELDS / PAUSE / AUTO、Binary PENDING、TIMELINE_NOT_READY。
点击 SUBMIT BINARY WIND T0/T1 后,再执行 GETSTATE 重新读取 Native state,稳定结果为:
runtime: READY / PAUSE / AUTOBinary Transport: READY: FILE_REF / FLOAT32_LE / INTERLEAVED_UVInvalid Probe: REJECTED_ADAPTERT0 Submit Result: ACCEPTED_PENDING_INITIAL_WINDOWT1 Submit Result: INITIAL_WINDOW_READYRuntime Field Window: Core evidence: INITIAL_WINDOW_READY + runtime READY- producer identity:
T0=1@1767225600000、T1=2@1767229200000 - MIX:
Core-owned / not exposed
清空 logcat 后再次重复提交,结果仍一致。负向 probe 的 Native Warning 明确为:HOST_FIELD_SUBMIT_REJECTED、REJECTED_ADAPTER、PAYLOAD_SIZE_MISMATCH、payloadBytes=95,证明非法 payload 进入既有 Core Adapter 并 fail-closed。
5. Logcat hard gate
当前 App PID 下以下计数均为 0:
FATAL EXCEPTIONSIGSEGVWEATHER_OBJECTS_NOT_READYJNI DETECTED ERRORUnsatisfiedLinkErrorNoSuchMethodError
Release AAR 中 HOST_FIELD_SNAPSHOT_READY 与 HOST_FIELD_INITIAL_WINDOW_READY 是 Log::Info;本轮设备 logcat 未观察到这两条 INFO 事件,因此未将其伪造为验收证据。正向证据以 bridge 直接返回的 Core result 与 GETSTATE 的 Native READY 为准。
6. 边界与清理
- 未进入 NavSea。
- 未把 provider/network/vendor/Weather Service/download/cache/prefetch 逻辑放入 MapLibre Native/Core。
- 正式 transport 未使用
number[]、payload JSON、base64 或 hex。 - 未加入或运行 Jest。
- 本轮未启用临时 STEP-060 full-validation UI;legacy runtime
App.tsx与 Git 当前App.tsxSHA-256 一致,baseline UI 保持不变。 /mnt/nas/pbf中13.4.1-step061临时 AAR/POM/module 已全部删除。
7. 最终判定
Binary file-reference transport、非法 payload fail-closed、T0 pending、T1 initial-window-ready、Native runtime READY、依赖唯一性、AAR/APK 构建及 crash hard gate 全部通过。
STEP-061 可正式标记为 CLOSED / PASS。