我在我的项目中使用 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.getSimpleName(ClassReference.kt:23) 的 kotlin.jvm.internal.ClassReference.error(ClassReference.kt:86) 的类路径中有 kotlin-reflect.jar
我认为这不是预期的行为,但也许有人找到了解决方法/解决方案?
现在我被迫将 android gradle 插件降级到 3.0.1 以防止应用程序崩溃。
=====================
我试图重新创建导致崩溃的环境,但是我没有设法重现崩溃。因为这只发生在较旧的android版本(pre-L)上并且在升级引入了一些dex优化的android gradle插件之后,我的猜测是它在某种程度上相关。
=====================
对于那些将此问题标记为重复的人:
我不确定是否可以更清楚地说明这一点:其他票是关于缺少依赖的。我的 build.gradle 中有 kotlin-reflect 依赖项。此外,我的应用程序适用于更高的 Android 版本以及将 android gradle 插件降级到 3.0.1 之后。由于缺少依赖项,这不适用于任何版本的 android gradle 插件。因此,其他问题的答案对此问题无效。