Skip to content

fix: 兼容 PVM2 继承异常及无资源 APK 并发布 1.8.4 - #28

Merged
kairowan merged 1 commit into
mainfrom
fix/pvm2-hierarchy-exception-compatibility
Oct 16, 2026
Merged

kairowan merged 1 commit into
mainfrom
fix/pvm2-hierarchy-exception-compatibility

Conversation

@kairowan

Copy link
Copy Markdown
Owner

业务类含继承、接口或异常处理区时,原有准入规则会将可独立执行的方法一并排除,导致 PVM2_ZERO_METHODS。本次保留 ART 方法分派与原声明,允许通过指令、控制流及异常表校验的独立方法进入 PVM2,并修复 throw null 未产生可捕获 NPE 的运行时问题。

同时修复合法空资源表和完全无资源表 APK 在资源重排、Apktool 元数据及重打包后校验中的失败。构造器、同步、生成桥接、特殊对象契约和不支持的状态访问/调用继续按规则保留;零转换和必保方法未覆盖仍失败。版本同步至 1.8.4。

验证:

  • 自建 Java/D8 样本 36 个方法:26 个转换并核验,10 个明确保留。
  • Android 9、15、16 arm64 模拟器完成 20 轮运行,每轮 482 项断言;包含 16 KB 内存页、空资源表和无资源表变体。
  • 生产 Native 解释器三种 ISA 的继承/异常用例及 ASan/UBSan 检查通过,打包器源码、类文件、依赖及运行时格式核验通过。
  • 核心 213 项、集成 4 项、GUI 后端 139 项、发布脚本 33 项通过;格式、Clippy、前端类型检查和构建通过。
  • macOS 本机测试包签名和内置工具/资源一致性通过,发布前轻量检查通过。

边界:模拟器结果不替代厂商真机或客户 APK 验收;此次不宣称所有业务方法均可转换。升级后须重新加固。

@kairowan
kairowan merged commit 518624f into main Oct 16, 2026
10 checks passed
@kairowan
kairowan deleted the fix/pvm2-hierarchy-exception-compatibility branch October 16, 2026 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant