Error con la clase Room dao cuando se usan las rutinas de Kotlin

Estoy tratando de usar las rutinas de Kotlin para acceder a la base de datos de la sala por el método descritoaquí, agregó el complemento y la dependencia, y habilitó las corotinas de kotlin en gradle.

engradle archivo:

    kotlin {
    experimental {
        coroutines 'enable'
    }
}
dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21" ...}

Entonces agreguésuspend palabra clave para todos los métodos en la clase dao, como este:

clase dao

@Query("select * from myevent")
suspend fun all(): List<MyEvent>

@Delete
suspend fun deleteEvent(event: MyEvent)
...

y construir, luego obtener estos errores

error

e: C:\Users\projectpath\app\build\tmp\kapt3\stubs\debug\com\robyn\myapp\data\source\local\EventsDao.java:39: error: Deletion methods must either return void or return int (the number of deleted rows). public abstract java.lang.Object deleteEventById(@org.jetbrains.annotations.NotNull() ^ e: C:\Users\projectpath\app\build\tmp\kapt3\stubs\debug\com\robyn\myapp\data\source\local\EventsDao.java:41: error: Query method parameters should either be a type that can be converted into a database column or a List / Array that contains such type. You can consider adding a Type Adapter for this. kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p1);

los enlaces de error navegan a laauto generado clase dao Los métodos generados en esta clase ahora tienen un parámetro adicional de este tipo.Continuation , como este:

clase dao autogenerada

@org.jetbrains.annotations.Nullable()
@android.arch.persistence.room.Delete()
public abstract java.lang.Object deleteAllEvents(@org.jetbrains.annotations.NotNull() // error indicates at this line
java.util.List<com.robyn.myapp.data.MyEvent> events, @org.jetbrains.annotations.NotNull()
kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p1); // error indicates at this line
...

Intenté eliminar la clase dao generada y reconstruirla para renegarla, todavía obtengo estos errores. Considero no usar ellauch{} método pero usosuspend palabra clave, porque hay muchos lugares en el código para consultar db.

¿Cómo puedo arreglar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta