java.lang.IncompatibleClassChangeError después de actualizar a kotlin RC1 (1.0.0-rc-1036)

Después de actualizar a kotlin RC1 (1.0.0-rc-1036), aparece este error:

java.lang.IncompatibleClassChangeError: se esperaba que el método 'java.lang.Object kotlin.Lazy.getValue ()' fuera de tipo interfaz, pero en su lugar se encontró que era de tipo virtual (statement de 'java.lang.reflect.ArtMethod' aparece en /system/framework/core-libart.jar)

Uso perezoso en uno de mi class:

val api by lazy { val client = OkHttpClient() ... } 

De las notas de la versión :

Lazy ahora es una interfaz abierta para la implementación

Pero no puedo entender lo que tengo que cambiar para que mi código vuelva a funcionar …

Cuando el código se comstack contra la biblioteca estándar kotlin-stdlib-1.0.0-rc-1036.jar el comstackdor ve a Lazy como una interfaz y genera la instrucción INVOKEINTERFACE para get el valor de su propiedad:

 INVOKEINTERFACE kotlin/Lazy.getValue ()Ljava/lang/Object; 

En caso de que, en el momento de la ejecución, se cargue Lazy desde la biblioteca estándar pre-RC, se trata de una class y no de una interfaz. Aquí es donde JVM detecta esa incoinheritance y lanza un IncompatibleClassChangeError .

Por lo tanto, debe asegurarse de que no tenga una biblioteca estándar antigua disponible para el cargador de classs en time de ejecución.

Si usa Gradle, siga las instrucciones en https://kotlinlang.org/docs/reference/using-gradle.html#configuring-dependencies para configurar / actualizar la dependencia en la biblioteca estándar.

  • Error de la database de la sala con la class de datos Kotlin
  • ¿Cómo combinar la list dentro de una list de un tipo, en una sola list inmutable?
  • La callback OnSuccessListener de Firebase Storage no llama
  • ¿Por qué la configuration de OnClickListener funciona una vez?
  • ¿Hay alguna manera en Kotlin de tejer en el código antes / después / alnetworkingedor de funciones como las que hay con AspectJ en Java?
  • Los generics de kotlin tienen que escribir el parámetro de tipo
  • java.lang.ClassNotFoundException: no encontró la class "com.my.app.example.Main" en la ruta: DexPathList
  • Cómo comstackr el código de testing de unidad de Kotlin que usa hamcrest 'is'
  • ¿Cómo hacer reference a la instancia de la class exterior en Kotlin?
  • Readaptación con kotlin, incapaz de crear @Body
  • Cómo escribir Short / Int en buffer de 1 byte