Kotlin-reflect和android gradle插件3.1.0

时间:2018-03-28 12:19:39

标签: android kotlin kotlin-reflect

我在我的项目中使用org.jetbrains.kotlin:kotlin-reflect库(包含在gradle依赖项中)。

该应用程序一直没有任何问题但是在将android gradle插件升级到最新版本3.1.0之后,应用程序开始在一台设备上崩溃(Nexus 5,Android 4.4.3)。 日志如下:

  

E / AndroidRuntime:致命异常:                                                                              kotlin.jvm.KotlinReflectionNotSupportedError:在运行时找不到Kotlin反射实现。确保在类路径中有kotlin-reflect.jar                                                                                  at kotlin.jvm.internal.ClassReference.error(ClassReference.kt:86)                                                                                  at kotlin.jvm.internal.ClassReference.getSimpleName(ClassReference.kt:23)

我认为这不是预期的行为,但也许有人找到了解决方法/解决方案?

现在我被迫将android gradle插件降级到3.0.1,以防止应用崩溃。

====================

我尝试重新创建导致崩溃的环境,但是我没有设法重现崩溃。 因为这只发生在较旧的Android版本(pre-L)上,并且在升级引入一些dex优化的android gradle插件之后,我的猜测是它在某种程度上相关。

====================

对于将此问题标记为重复的人

我不确定是否可以更清楚:其他票证是否缺少依赖性。我在build.gradle中有kotlin反映依赖。此外,我的应用程序可以在更高的Android版本上运行以及将android gradle插件降级到3.0.1之后。 如果缺少依赖项,则无法使用任何版本的android gradle插件。因此,其他问题的答案对此无效。

1 个答案:

答案 0 :(得分:4)

gradle.properties添加行可解决问题:

android.enableD8MainDexList=false

此外,插件版本3.2.0-alpha11

中的错误似乎已经消失

来源: