Kotlin-reflect 和 android gradle 插件 3.1.0
Kotlin-reflect and android gradle plugin 3.1.0
我在我的项目中使用 org.jetbrains.kotlin:kotlin-reflect 库(包含在 gradle 依赖项中)。
该应用程序一直没有任何问题,但是在将 android gradle 插件升级到最新版本 3.1.0 后,该应用程序开始在一台设备上崩溃(Nexus 5,Android 4.4.3).
日志如下:
E/AndroidRuntime: FATAL EXCEPTION:
kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath
at kotlin.jvm.internal.ClassReference.error(ClassReference.kt:86)
at kotlin.jvm.internal.ClassReference.getSimpleName(ClassReference.kt:23)
我认为这不是预期的行为,但也许有人发现了 workaround/solution?
现在我被迫关闭gradle android gradle 插件到 3.0.1 以防止应用程序崩溃。
====================
我已尝试重新创建导致崩溃的环境,但未能重现崩溃。
因为这只发生在较旧的 android 版本(L 之前)并且升级 android gradle 插件后引入了一些 dex 优化,我猜它在某种程度上是相关的。
====================
对于那些将此问题标记为重复的人:
我不确定是否可以更清楚地说明这一点:其他票证是关于缺少依赖项的。我的 build.gradle 中有 kotlin-reflect 依赖项。此外,我的应用程序 works 在更高的 Android 版本以及将 android gradle 插件降级到 3.0.1 之后。
由于缺少依赖项,这不适用于任何版本的 android gradle 插件。因此其他问题的答案对这个问题无效。
将行添加到gradle.properties
解决了问题:
android.enableD8MainDexList=false
此外,bug 似乎在插件版本中消失了 3.2.0-alpha11
来源:
我在我的项目中使用 org.jetbrains.kotlin:kotlin-reflect 库(包含在 gradle 依赖项中)。
该应用程序一直没有任何问题,但是在将 android gradle 插件升级到最新版本 3.1.0 后,该应用程序开始在一台设备上崩溃(Nexus 5,Android 4.4.3). 日志如下:
E/AndroidRuntime: FATAL EXCEPTION: kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath at kotlin.jvm.internal.ClassReference.error(ClassReference.kt:86) at kotlin.jvm.internal.ClassReference.getSimpleName(ClassReference.kt:23)
我认为这不是预期的行为,但也许有人发现了 workaround/solution?
现在我被迫关闭gradle android gradle 插件到 3.0.1 以防止应用程序崩溃。
====================
我已尝试重新创建导致崩溃的环境,但未能重现崩溃。 因为这只发生在较旧的 android 版本(L 之前)并且升级 android gradle 插件后引入了一些 dex 优化,我猜它在某种程度上是相关的。
====================
对于那些将此问题标记为重复的人:
我不确定是否可以更清楚地说明这一点:其他票证是关于缺少依赖项的。我的 build.gradle 中有 kotlin-reflect 依赖项。此外,我的应用程序 works 在更高的 Android 版本以及将 android gradle 插件降级到 3.0.1 之后。 由于缺少依赖项,这不适用于任何版本的 android gradle 插件。因此其他问题的答案对这个问题无效。
将行添加到gradle.properties
解决了问题:
android.enableD8MainDexList=false
此外,bug 似乎在插件版本中消失了 3.2.0-alpha11
来源: