Tencent / tinker

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

Tinker Exception:createDelegate failed (NoSuchMethodException) #1557

Closed scolia closed 3 years ago

scolia commented 3 years ago

Issue/提问须知

异常类型:app运行时异常/编译异常

app运行时异常(闪退)

手机型号:红米k30u 手机系统版本:Android 10

tinker版本: 1.9.9, 1.9.14.15

gradle版本:3.5.4

是否使用热更新SDK

dependencies {
    implementation 'com.tencent.bugly:crashreport_upgrade:1.5.0'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'
}

系统:如:Mac

堆栈/日志:

E/AndroidRuntime(17262): FATAL EXCEPTION: main
E/AndroidRuntime(17262): Process: com.scolia.luckincoffee.flutter_luckin_coffee, PID: 17262
E/AndroidRuntime(17262): java.lang.RuntimeException: Unable to instantiate application com.scolia.luckincoffee.flutter_luckin_coffee.SampleApplication: com.tencent.tinker.loader.d: Tinker Exception:createDelegate failed
E/AndroidRuntime(17262):        at android.app.LoadedApk.makeApplication(LoadedApk.java:1230)
E/AndroidRuntime(17262):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6605)
E/AndroidRuntime(17262):        at android.app.ActivityThread.access$1500(ActivityThread.java:235)
E/AndroidRuntime(17262):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1918)
E/AndroidRuntime(17262):        at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(17262):        at android.os.Looper.loop(Looper.java:225)
E/AndroidRuntime(17262):        at android.app.ActivityThread.main(ActivityThread.java:7594)
E/AndroidRuntime(17262):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(17262):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/AndroidRuntime(17262):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994)
E/AndroidRuntime(17262): Caused by: com.tencent.tinker.loader.d: Tinker Exception:createDelegate failed
E/AndroidRuntime(17262):        at com.tencent.tinker.loader.f.a.a(Unknown Source:97)
E/AndroidRuntime(17262):        at com.tencent.tinker.loader.f.a.b(Unknown Source:5)
E/AndroidRuntime(17262):        at com.tencent.tinker.loader.f.a.a(Unknown Source:15)
E/AndroidRuntime(17262):        at com.tencent.tinker.loader.f.a.attachBaseContext(Unknown Source:11)
E/AndroidRuntime(17262):        at android.app.Application.attach(Application.java:376)
E/AndroidRuntime(17262):        at android.app.Instrumentation.newApplication(Instrumentation.java:1156)
E/AndroidRuntime(17262):        at android.app.LoadedApk.makeApplication(LoadedApk.java:1222)
E/AndroidRuntime(17262):        ... 9 more
E/AndroidRuntime(17262): Caused by: java.lang.NoSuchMethodException: com.scolia.luckincoffee.flutter_luckin_coffee.b.<init> [class android.app.Application, int, boolean, long, long, class android.content.Intent]
E/AndroidRuntime(17262):        at java.lang.Class.getConstructor0(Class.java:2332)
E/AndroidRuntime(17262):        at java.lang.Class.getConstructor(Class.java:1728)
E/AndroidRuntime(17262):        at com.tencent.tinker.loader.f.a.a(Unknown Source:43)
E/AndroidRuntime(17262):        ... 15 more

其他说明:

  1. 采用的是命令行接入, 所以并没有集成插件
  2. 使用Flutter框架.
scolia commented 3 years ago

这个问题解决了, 是混淆的问题, 我在SampleApplicationLike使用@Keep注解就可以了/