java - java.lang.NoClassDefFoundError:解析失败:Ljava/lang/invoke/MethodHandles$Lookup
问题描述
应用程序每次都会崩溃。模拟器运行良好。通过 ADB 在 Bluestacks 上运行它,无法在设备上尝试。MinSdk - 23。
试过了:没用compile 'com.android.support:multidex:1.0.0'
。
错误:
2020-03-25 14:08:50.912 8649-8649/com.untd.carcheck E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.untd.carcheck, PID: 8649
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/invoke/MethodHandles$Lookup;
at retrofit2.Platform.<init>(Platform.java:62)
at retrofit2.Platform$Android.<init>(Platform.java:115)
at retrofit2.Platform.findPlatform(Platform.java:44)
at retrofit2.Platform.<clinit>(Platform.java:34)
at retrofit2.Platform.get(Platform.java:37)
at retrofit2.Retrofit$Builder.<init>(Retrofit.java:430)
at com.untd.carcheck.data.network.VinApiService$Companion.invoke(VinApiService.kt:55)
at com.untd.carcheck.ui.VehicleActivity.<init>(VehicleActivity.kt:41)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2558)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6125)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.lang.invoke.MethodHandles$Lookup" on path: DexPathList[[zip file "/data/app/*.*.*-1/base.apk"],nativeLibraryDirectories=[/data/app/*.*.*-1/lib/x86_64, /system/lib64, /vendor/lib64, /data/downloads, /data/priv-downloads]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
解决方案
尝试将 minsdk 更改为 26。因为在 API 级别 26 中添加了 MethodHandles$Lookup 类。请参阅此文档。
这意味着您不能再在 API 级别 23 的设备上安装您的应用程序。
推荐阅读
- reactjs - TS2604:JSX 元素类型“标头”没有任何构造或调用签名
- c - 为什么我的 +-/x 函数不能工作,而我的正弦余弦和正切函数工作
- spring - springboot中使用gradle时,加载依赖遇到sun.security.validator.validatorexception。我不知道如何解决
- simulink - Dymola-Simulink 接口:newDymolaGuiJava 中的错误
- php - 填写联系表后的 PHP 确认电子邮件
- machine-learning - 卷积层作为分类问题的输出层
- python - 使用 pandas 确定列对于特定组具有最低值的次数
- javascript - 为什么加载 fbx 文件后看不到任何模型?
- sql - 带有 OUT 参数调用的 Oracle DBMS_SCHEDULER.create_job
- function - 在递归函数中执行 JAL 之前存储在 $ra 中的内容