| Files | Last commit | Last update |
|---|---|---|
fix: AGP兼容性 + ffmpeg可选依赖 + check-env gradlew路径修复 - benchmark-rn: org.jetbrains.kotlin.android → kotlin-android (AGP 8.x兼容) - framework: ffmpeg-static 从 dependencies 移到 peerDependencies(optional) - check-env: gradlew 检查增加 cwd 和 timeout (gradlew 不在 PATH 时可正确检查) # Signed-off-by: gyange <gaoyang36@huawei.com> | 2 months ago | |
fix: 崩溃日志检测准确性与多版本兼容性修复 ## stability-probe.ts 崩溃日志检测修复 ### getCrashLogs: 按应用过滤 + 覆盖OOM + 基线后只收集新崩溃 - 之前: ls -t | head -5 取全局最新5个文件(含其他应用崩溃) - 现在: grep bundleId 过滤本应用崩溃, 同时查 cppcrash|appfreeze|asan - 之前: 基线前的旧崩溃也放入 crashLogs 数组返回 - 现在: fileTime > crashCheckBaseline 才收集, 旧崩溃不再混入 ### collectCrashLog: 复用 getCrashLogs + 删除历史崩溃返回分支 - 之前: 独立实现, 取全局最新文件, 不用基线过滤 - 现在: 调 getCrashLogs(bundleId, 3), 复用基线过滤逻辑 - 之前: 无新崩溃时仍返回历史崩溃日志 - 现在: 无新崩溃时返回'未找到基线后的崩溃日志文件' ### 新增 parseCrashTimestamp: 从文件名/内容解析时间戳 - 优先从文件名提取 (cppcrash-{bundle}-{timestamp}.log 格式) - 回退到内容中的 Timestamp 行 ### 崩溃日志包含完整内容 - 之前: extractCrashSummary 只提取3行摘要 - 现在: 直接存完整崩溃文件内容(含堆栈/内存/寄存器) ## stability-test.ts 崩溃判定优化 ### 区分崩溃类型: native crash vs OOM - 之前: crashCount === 0 一刀切 FAIL (OOM恢复后也判FAIL) - 现在: [native crash]/[ASAN] -> FAIL, [OOM/appfreeze] 恢复后 appAlive 可 PASS - 日志新增'崩溃类型'字段 ## benchmark-rn 多版本兼容 ### MarkerStore.h: __has_include 探测 TraceSection/SystraceSection - rn72/rn77 只有 SystraceSection.h, rn82/rn84 只有 TraceSection.h - 用 __has_include 自动探测, using RNOHTraceSection 别名 ### RenderTimerTurboModule.cpp: rn72 emitDeviceEvent 签名兼容 - rn72 的 emitDeviceEvent 需要 jsi::Runtime& 首参, rn77+ 去掉了 - 用 __has_include(<butter/butter.h>) 区分 (butter 仅 rn72 有) ### CMakeLists.txt: 补 hitrace + SafeAssert 链接 - rn72 ASAN 模式缺 libhitrace_ndk.z.so 和 folly::safe_assert_terminate - 加 WITH_HITRACE_SYSTRACE 条件链接 + SafeAssert.cpp 编译 ## 其他 ### public-api-surface.test.ts: 修正 ./internal 导出断言 - package.json 实际暴露了 ./internal 子路径给框架CLI用 - 测试从'应不存在'改为'应正确指向 dist' ### benchmark/metric-types.js: 兼容旧版 metro - rn72 metro 0.76 不认 package.json exports 子路径 - 包根目录创建 metric-types.js 重导出文件 Signed-off-by: haozhihang <haozhihang@huawei.com> | 3 months ago | |
fix: AGP兼容性 + ffmpeg可选依赖 + check-env gradlew路径修复 - benchmark-rn: org.jetbrains.kotlin.android → kotlin-android (AGP 8.x兼容) - framework: ffmpeg-static 从 dependencies 移到 peerDependencies(optional) - check-env: gradlew 检查增加 cwd 和 timeout (gradlew 不在 PATH 时可正确检查) # Signed-off-by: gyange <gaoyang36@huawei.com> | 2 months ago |