试图从类androidx.room.CoroutinesRoom $ Companion访问类kotlin.jvm.internal.DefaultConstructorMarker

时间:2019-02-14 13:04:59

标签: android kotlin android-room kotlinx.coroutines

我通过以下测试获得m_id | member_id | c_k | b_k | date_of_added 4 | 101 | qwe3 |sdad4 | 14-02-2019 04:30:20 ,为什么?

java.lang.BootstrapMethodError: java.lang.IllegalAccessError: tried to access class kotlin.jvm.internal.DefaultConstructorMarker from class androidx.room.CoroutinesRoom$Companion

我几乎只是复制了from the docs

我使用的是最新的@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() } } ,因为最近有来自Google的媒体报道。

1 个答案:

答案 0 :(得分:0)

自19年3月21日起,Robolectric快照中引入了一个修复程序,该修复程序应包含在以后的版本中:

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

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