android - 为什么 Kotlin Android APP 在 KitKat 上获取 java.lang.VerifyError KotlinNamesAnnotationIntrospector
问题描述
我在带有 Kotlin 插件 1.3.11 的 Ubuntu 16.04 上使用 Android Studio 3.2.1。如果我使用 Android Studio 将我的应用程序部署到使用 KitKat (API 19) 的虚拟设备,应用程序会启动但会立即崩溃。操作系统说“不幸的是,已停止。我在调试器控制台中看到以下异常:
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x9ccbbb20)
E/AndroidRuntime: FATAL EXCEPTION: main
Process: info.diethealth.app, PID: 2583
java.lang.VerifyError: com/fasterxml/jackson/module/kotlin/KotlinNamesAnnotationIntrospector
at com.fasterxml.jackson.module.kotlin.KotlinModule.setupModule(KotlinModule.kt:40)
at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:722)
at com.fasterxml.jackson.module.kotlin.ExtensionsKt.registerKotlinModule(Extensions.kt:15)
at info.diethealth.app.business.dagger.DietHealthApiModule.provideObjectMapper(DietHealthApiModule.kt:20)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvideObjectMapperFactory.get(DietHealthApiModule_ProvideObjectMapperFactory.java:23)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvideObjectMapperFactory.get(DietHealthApiModule_ProvideObjectMapperFactory.java:8)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvidesRetrofitFactory.get(DietHealthApiModule_ProvidesRetrofitFactory.java:37)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvidesRetrofitFactory.get(DietHealthApiModule_ProvidesRetrofitFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvidesDietHealthApiFactory.get(DietHealthApiModule_ProvidesDietHealthApiFactory.java:31)
at info.diethealth.app.business.dagger.DietHealthApiModule_ProvidesDietHealthApiFactory.get(DietHealthApiModule_ProvidesDietHealthApiFactory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at info.diethealth.app.business.dagger.DietHealthServicesModule_ProvidesRecipeDescriptionServiceFactory.get(DietHealthServicesModule_ProvidesRecipeDescriptionServiceFactory.java:69)
at info.diethealth.app.business.dagger.DietHealthServicesModule_ProvidesRecipeDescriptionServiceFactory.get(DietHealthServicesModule_ProvidesRecipeDescriptionServiceFactory.java:16)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at info.diethealth.app.components.main.MainActivity_MembersInjector.injectMembers(MainActivity_MembersInjector.java:31)
at info.diethealth.app.components.main.MainActivity_MembersInjector.injectMembers(MainActivity_MembersInjector.java:8)
at info.diethealth.app.business.dagger.DaggerDietHealthComponent.inject(DaggerDietHealthComponent.java:242)
at info.diethealth.app.components.main.MainActivity.onCreate(MainActivity.kt:50)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
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:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Lollipop (5.0, 5.1) 或 Marshmallow (6.0) 没有问题。
解决方案
推荐阅读
- c# - Unity _MainTex 属性在明确存在时不存在
- java - 棋盘上的蚂蚁
- python - 使用索引访问列表中 dict 的值
- typescript - 材质 UI 日期时间选择器示例
- php - Doctrine PrePersist/PreUpdate 不会触发
- javascript - nodemon Internal watch failed: watch /Users/admin/Library/Application Support/Code/1.26.1-shared.sock Unknown system error -102
- c# - Trouble adding images to C# WPF .NetCore WPF application
- instagram - 使用 Instagram 基本显示 API 获取用户媒体
- swift - 如何制作具有透明背景的椭圆/圆形 UIImage?
- python - 将 matplotlib 可拖动线模块导入 PyQt5