【问题标题】:tried to access class kotlin.jvm.internal.DefaultConstructorMarker from class androidx.room.CoroutinesRoom$Companion试图从类 androidx.room.CoroutinesRoom$Companion 访问类 kotlin.jvm.internal.DefaultConstructorMarker
【发布时间】:2019-02-14 13:04:58
【问题描述】:

我通过以下测试得到java.lang.BootstrapMethodError: java.lang.IllegalAccessError: tried to access class kotlin.jvm.internal.DefaultConstructorMarker from class androidx.room.CoroutinesRoom$Companion,为什么?

@RunWith(AndroidJUnit4::class)
class DBTest {

  @Test
  @Throws(Exception::class)
  fun basicOperations() = runBlocking  {
    val context = ApplicationProvider.getApplicationContext<Context>()
    val db = Room.inMemoryDatabaseBuilder(context, AppDatabase::class.java).build()
    db.favDao().insertFav(Fav("whatever"))
    assertEquals("whatever", db.favDao().getFav("whatever"))
    db.favDao().deleteFav(Fav("whatever"))
    assertEquals(null, db.favDao().getFav("whatever"))
    db.close()
  }
}

我几乎只是复制了from the docs

我正在使用最新的room-coroutines,因为最近有来自 Google 的媒体报道。

【问题讨论】:

标签: android kotlin android-room kotlinx.coroutines


【解决方案1】:

截至 2019 年 3 月 21 日,在 Robolectric 的快照中引​​入了一个修复程序,它应该包含在未来的版本中:

https://github.com/robolectric/robolectric/commit/6d246391fdaac92968811bc83e1afb057e6f93a3

原因是由于 CoroutinesRoom 类的伴随对象上的内部注释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多