异常类型:app运行时异常
手机型号:天猫魔盒S1+
手机系统版本:如:Android 6.1
tinker版本:1.9.14.25.1
gradle版本:6.1.1
是否使用热更新SDK: 否
系统:如:Mac
堆栈/日志:
FATAL EXCEPTION: main
Process: com.tvbc.mddtv, PID: 2456
java.lang.RuntimeException: Unable to instantiate application com.tvbc.mddtv.MainApplication: com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:java.lang.String cannot be stored in an array of type int[]
at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4334)
at android.app.ActivityThread.access$1500(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5038)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:851)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:667)
Caused by: com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:java.lang.String cannot be stored in an array of type int[]
at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:176)
at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:186)
at android.app.Application.attach(Application.java:181)
at android.app.Instrumentation.newApplication(Instrumentation.java:991)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4334)
at android.app.ActivityThread.access$1500(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5038)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:851)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:667)
Caused by: java.lang.ArrayStoreException: java.lang.String cannot be stored in an array of type int[]
at com.tencent.tinker.loader.shareutil.ShareTinkerInternals.getProcessName(ShareTinkerInternals.java:552)
at com.tencent.tinker.loader.shareutil.ShareTinkerInternals.isInMainProcess(ShareTinkerInternals.java:471)
at com.tencent.tinker.lib.tinker.Tinker$Builder.<init>(Tinker.java:338)
at com.tencent.tinker.lib.tinker.TinkerInstaller.install(TinkerInstaller.java:63)
at com.tvbc.hotpatch.app.HotpatchApplicaitonLike.installTinker(HotpatchApplicaitonLike.kt:95)
at com.tvbc.hotpatch.app.HotpatchApplicaitonLike.initTinker(HotpatchApplicaitonLike.kt:77)
at com.tvbc.hotpatch.app.HotpatchApplicaitonLike.onBaseContextAttached(HotpatchApplicaitonLike.kt:69)
at com.tencent.tinker.entry.TinkerApplicationInlineFence.handleMessageImpl(TinkerApplicationInlineFence.java:72)
at com.tencent.tinker.entry.TinkerApplicationInlineFence.handleMessage_$noinline$(TinkerApplicationInlineFence.java:60)
at com.tencent.tinker.entry.TinkerApplicationInlineFence.handleMessage(TinkerApplicationInlineFence.java:53)
at com.tencent.tinker.loader.app.TinkerInlineFenceAction.callOnBaseContextAttached(TinkerInlineFenceAction.java:47)
at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:168)
at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:186)
at android.app.Application.attach(Application.java:181)
at android.app.Instrumentation.newApplication(Instrumentation.java:991)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4334)
at android.app.ActivityThread.access$1500(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5038)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:851)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:667)
我debug调试看了眼, 发现
ShareTinkerInternals
类中的静态常量processName初始化的类型就是错的, 是int数组.