Android 7.0(N)以上版本的JIT问题

问题

在Android 7.0(N)以上版本的系统中,出现了JIT问题引发异常。

问题原因

在Android N以后的版本会对频繁使用的App进行jit操作,从而生成app image并更新oat文件。如果App image包含了补丁修改的class,就无法进行热更新。因为App在启动时会把这些类加入到PathClassloader的ClassTable中,系统在查找类时会直接使用base.apk中的class,最终导致修复不成功。不过,只有Android N版本后频繁使用的App会由系统进行jit,所以影响范围并不是非常广。

解决方案

Sophix 3.1.0以上版本已经自动处理,无需适配。如发现问题,可寻求群里技术支持解决。建议始终更新到 Sophix 最新版本,更加稳定。