попытался получить доступ к классу kotlin.jvm.internal.DefaultConstructorMarker из класса androidx.room.CoroutinesRoom $ Companion - PullRequest
0 голосов
/ 14 февраля 2019

Я получаю 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()
  }
}

Я просто скопировал из документов .

Яиспользуя самую последнюю версию room-coroutines, как это было в последнее время в СМИ от Google.

1 Ответ

0 голосов
/ 01 апреля 2019

Начиная с 21.03.199 в снимке Robolectric появилось исправление, которое должно быть включено в будущие выпуски:

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

Причина возникла из-за внутреннейаннотация к сопутствующему объекту класса CoroutinesRoom.

...