Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.13k stars 3.33k forks source link

Tinker.UncaughtHandler: TinkerUncaughtHandler catch exception:java.lang.NoClassDefFoundError #955

Open micck2 opened 5 years ago

micck2 commented 5 years ago

Issue/提问须知

在提交issue之前,我们应该先查询是否已经有相关的issue以及常见问题。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:


异常类型:app运行时异常

手机型号:小米6X

手机系统版本:android8.1.0

tinker版本:1.9.8

gradle版本:4.1

是否使用热更新SDK: 

系统:Mac

堆栈/日志:
10-17 16:42:59.102 30801-30801/com.sqzx.dj.gofun_check_control E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.sqzx.dj.gofun_check_control, PID: 30801
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tencent/tinker/entry/ApplicationLike;
        at com.tencent.bugly.beta.tinker.TinkerManager.installTinker(BUGLY:176)
        at com.tencent.bugly.beta.Beta.installTinker(BUGLY:981)
        at com.sqzx.dj.gofun_check_control.tinker.CarTaskManagerAppLike.onBaseContextAttached(CarTaskManagerAppLike.java:61)
        at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:134)
        at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:148)
        at android.app.Application.attach(Application.java:193)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1104)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1088)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:987)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5768)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1670)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6600)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:821)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.tinker.entry.ApplicationLike" on path: DexPathList[[zip file "/data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/base.apk"],nativeLibraryDirectories=[/data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/lib/arm64, /data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.tencent.bugly.beta.tinker.TinkerManager.installTinker(BUGLY:176) 
        at com.tencent.bugly.beta.Beta.installTinker(BUGLY:981) 
        at com.sqzx.dj.gofun_check_control.tinker.CarTaskManagerAppLike.onBaseContextAttached(CarTaskManagerAppLike.java:61) 
        at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:134) 
        at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:148) 
        at android.app.Application.attach(Application.java:193) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1104) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1088) 
        at android.app.LoadedApk.makeApplication(LoadedApk.java:987) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5768) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1670) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6600) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:821) 
10-17 16:42:59.106 2269-2390/? E/BtGatt.ContextMap: Context not found for ID 0
10-17 16:42:59.107 30801-30801/com.sqzx.dj.gofun_check_control E/Tinker.UncaughtHandler: TinkerUncaughtHandler catch exception:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tencent/tinker/entry/ApplicationLike;
        at com.tencent.bugly.beta.tinker.TinkerManager.installTinker(BUGLY:176)
        at com.tencent.bugly.beta.Beta.installTinker(BUGLY:981)
        at com.sqzx.dj.gofun_check_control.tinker.CarTaskManagerAppLike.onBaseContextAttached(CarTaskManagerAppLike.java:61)
        at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:134)
        at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:148)
        at android.app.Application.attach(Application.java:193)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1104)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1088)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:987)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5768)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1670)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6600)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:821)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.tinker.entry.ApplicationLike" on path: DexPathList[[zip file "/data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/base.apk"],nativeLibraryDirectories=[/data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/lib/arm64, /data/app/com.sqzx.dj.gofun_check_control-N2G751SE-sXX7g8_1xCUPg==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.tencent.bugly.beta.tinker.TinkerManager.installTinker(BUGLY:176) 
        at com.tencent.bugly.beta.Beta.installTinker(BUGLY:981) 
        at com.sqzx.dj.gofun_check_control.tinker.CarTaskManagerAppLike.onBaseContextAttached(CarTaskManagerAppLike.java:61) 
        at com.tencent.tinker.loader.app.TinkerApplication.onBaseContextAttached(TinkerApplication.java:134) 
        at com.tencent.tinker.loader.app.TinkerApplication.attachBaseContext(TinkerApplication.java:148) 
        at android.app.Application.attach(Application.java:193) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1104) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1088) 
        at android.app.LoadedApk.makeApplication(LoadedApk.java:987) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5768) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1670) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6600) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:821) 
120660021 commented 5 years ago

同样的问题,求助大神

AlwaysSum commented 5 years ago

同样的问题。。。急。。。求大神

dede1314 commented 5 years ago

这个不是tinker的问题,是程序本身出问题了。

cyixlq commented 5 years ago

之前好好的,现在突然遇到了这个问题,在线等,急!!!

cyixlq commented 5 years ago

我通过Bugly集成的

AlwaysSum commented 5 years ago

解决了这个问题,我Bugly集成的,修改了版本号 implementation 'com.tencent.tinker:tinker-android-lib:latest.release'//1.9.9 ,官方文档是1.9.3,其实版本更新了,所以lib中文件换了个包,故而找不到了

ckrgithub commented 5 years ago

这里有文档:https://github.com/ckrgithub/BuglyAndTinker 应该不会出现你的问题

xiongjinqiu0812 commented 5 years ago

项目是否升级了androidx?我这里升级后就出现了这个问题,也还在找原因

CodeK1988 commented 5 years ago

@xiongjinqiu0812 这位仁兄是否处理了这个问题 我也升到AndroidX了

zhaoweiguo5505 commented 4 years ago

我的也是升级了androidX 也是这个问题