在7.0以上版本的手机系统上出现java.lang.Exception: ... abort cold fix异常怎么办?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在7.0以上版本的手机系统上出现java.lang.Exception: ... abort cold fix异常怎么办?

2017-10-24 11:34:49 1359 0


在7.0以上版本的手机系统上出现java.lang.Exception: … abort cold fix异常



问题


在7.0以上版本手机系统上出现java.lang.Exception: … abort cold fix异常,应用崩溃

问题原因


在Android N以后的版本会对频繁使用的app进行jit操作,从而生成app image并更新oat文件。如果app image包含了补丁修改的class,就无法进行热更新。因为app在启动时会把这些类加入到PathClassloader的ClassTable中,系统在查找类时会直接使用base.apk中的class,最终导致修复不成功。因此我们在7.0以上版本做了特殊处理来避免jit的影响,但是这种处理需要保证在Sophix初始化前不用到其他自定义类。

解决方案


解决方法和4.4的pre-verify问题一样。Sophix初始化放在Application最前面,同时在初始化前的代码都要使用系统类而不使用自定义类(如自定义的logutil等)。
具体就是把initialize写到attachBaseContext里面,但query还是在onCreat的最前面;如果有用到MultiDex,直接继承Application,在attachBaseContext里写MultiDex.install(base),然后在onCreat的最前面initialize和query,如果还会出现这个崩溃,把initialize写到attachBaseContext的MultiDex.install(base)后面,但query还是在onCreat的最前面。仍然解决不了的可到钉钉群里寻求支持。若上述步骤仍未能定位问题,可以询问技术支持解决: 技术支持
取消 提交回答
全部回答(0)
相关问答

8

回答

短视频SDK如何做到视频原始比例裁剪?

EdgePlus 2017-09-13 17:35:01 39987浏览量 回答数 8

323

回答

云伴侣数据导入问题汇总(Android系统)

os_admin 2011-07-26 17:52:15 63547浏览量 回答数 323

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 149084浏览量 回答数 22

15

回答

OSS学院:为什么我的图片会被下载?怎么在线播放影音?

leehon 2013-09-13 16:40:00 35883浏览量 回答数 15

1

回答

2020年了,跨平台开发框架现在怎样了?

问问小秘 2020-04-15 13:23:24 35640浏览量 回答数 1

26

回答

安卓与iOS百问,开发者系统指南

yq传送门 2017-05-31 17:16:00 34916浏览量 回答数 26

25

回答

数据库百问,教你快速上手数据库

yq传送门 2017-06-13 08:01:34 46450浏览量 回答数 25

8

回答

mail.aliyun.com邮箱android手机客户端设置方法

jack_yang 2013-04-24 09:01:34 124261浏览量 回答数 8

3

回答

JAVA web 【精品问答合集】

我是管理员 2018-07-13 16:02:35 28488浏览量 回答数 3

46

回答

H5技术百问——不懂H5你就OUT啦

yq传送门 2017-09-09 11:03:04 48552浏览量 回答数 46
+关注
350
文章
1300
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载