问题描述
2020-11-20上午发现versionCode=2130923534版本的com.xxx.ota应用的静默升级存在600多次crash,经过分析,主要来自
(1)java.lang.ClassCastException: com.xxx.ota.aaa.binder.OtaUpdateBinder cannot be cast to com.xxx.ota.aaa.binder.OtaUpdateBinder
(2)Caused by: android.content.res.Resources$NotFoundException: Resource "com.xxx.ota:bool/abc_action_bar_embed_tabs" (7f030000) is not a Drawable (color or path): TypedValue{t=0x12/d=0xffffffff a=2 r=0x7f030000}
主要原因来自persistent=true属性的应用进程在第一次被覆盖安装后,其进程pid不会变化,ClassLoader加载资源不符合预期
具体现象,如下流程图所示:
原因
目前针对persistent=true的应用,有如下现象:
(1)Android9.0及以上版本&