试图从 class androidx.room.CoroutinesRoom$Companion 访问 class kotlin.jvm.internal.DefaultConstructorMarker
tried to access class kotlin.jvm.internal.DefaultConstructorMarker from class androidx.room.CoroutinesRoom$Companion
我通过以下测试得到 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 的媒体报道。
自 2019 年 3 月 21 日起,在 Robolectric 的快照中引入了一个修复程序,它应该包含在未来的版本中:
https://github.com/robolectric/robolectric/commit/6d246391fdaac92968811bc83e1afb057e6f93a3
原因是 CoroutinesRoom class 的伴随对象上的内部注释。
我通过以下测试得到 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 的媒体报道。
自 2019 年 3 月 21 日起,在 Robolectric 的快照中引入了一个修复程序,它应该包含在未来的版本中:
https://github.com/robolectric/robolectric/commit/6d246391fdaac92968811bc83e1afb057e6f93a3
原因是 CoroutinesRoom class 的伴随对象上的内部注释。