Kotlin-reflect和android gradle插件3.1.0

Mar*_*Bak 5 android kotlin kotlin-reflect

我在我的项目中使用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反射实现.确保你在kotlin.jvm.internal.ClassReference.error(ClassReference.kt:86)的类路径中有kotlin-reflect.jar,位于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插件.因此,其他问题的答案对此无效.

jsk*_*rbi 4

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

android.enableD8MainDexList=false
Run Code Online (Sandbox Code Playgroud)

此外,插件版本中的错误似乎已经消失3.2.0-alpha11

资料来源: