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.

  • Las células RecyclerView se deforman cuando se abre el keyboard
  • ¿Cómo diseñar una class compleja que incluya algunas classs para hacer una expansión fácil en el futuro en Kotlin?
  • Kotlin: atribuye visibilidad al object complementario
  • Pasar un object detector como un parámetro de function en kotlin
  • Cómo notificar a Observable cuando finalice CountdownTimer
  • El button de prevención de Kotlin / Anko cierra el dialog de alerta
  • En Kotlin, ¿cómo se pueden limitar las opciones en un Generador fluido para diferentes forms de configuration?
  • ¿Puede la class de datos Kotlin tener más de un constructor?
  • Anko Logging con verbose y debug no funciona
  • Implementación de SQLite en Kotlin y Anko
  • Datos estáticos en Kotlin