java.lang.NoClassDefFoundError $$ inlined $ forEach $ lambda $ 1 в Котлине

В настоящее время я работаю над Android-приложением с Kotlin в версии 1.1.1

В моем коде у меня есть привязка нескольких структур forEach , чтобы читать несколько MutableList и MutableMap .

К сожалению, мое приложение выходит из строя со следующей командой stacktrace:

java.lang.NoClassDefFoundError: com.package.fragment.ReminderAddFragment $ onRetrieveBusinessObjects $$ inlined $ forEach $ lambda $ 1 at com.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects (ReminderAddFragment.kt: 275) в com.smartnsoft.droid4me.app.Droid4mizer .onRetrieveBusinessObjects (Droid4mizer.java:552) в com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal (Droid4mizer.java:606) на com.smartnsoft.droid4me.app.Droid4mizer.access $ 000 (Droid4mizer.java:46) at com .smartnsoft.droid4me.app.Droid4mizer $ 1.run (Droid4mizer.java:197) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:423) в java.util.concurrent.FutureTask.run (FutureTask. java: 237) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:588) в java.lang.Thread.run (Thread .java: 818)

Здесь код

 tutorialCategories.forEach { (_, _, _, _, _, tutorials) -> tutorials.forEach { tutorial -> if (tutorial.id == simpleReminderFromExtra.tutorialId) { //... val mapOfreminders = mutableMapOf<Int, MutableList<Reminder>>() val reminders = ReminderServices.getReminderByTutorialId(simpleReminderFromExtra.tutorialId) reminders.forEach { reminder -> //... } mapOfreminders.forEach { _, finalReminders -> //... finalReminders.forEach { reminder -> //... } //... } } } } 

Где :

  • tutorialCategories – это List ;
  • tutorials – это List ;
  • reminders – это List ;

Строка 275 кода – mapOfreminders.forEach { _, finalReminders -> .

В отладчике я могу оценить переменную mapOfreminders и все кажется, что все в порядке.

Если кто-то может помочь решить эту проблему!

Прочитав сообщение Дэн Лью пару дней назад, я сделаю предположение, что это может быть вызвано использованием Map.forEach { k, v -> } из Java 8, который может быть недоступен в режиме исполнения Android.

Вы можете попытаться использовать другой forEach с параметром одиночной записи, который поступает из стандартной библиотеки Kotlin:

 mapOfreminders.forEach { (_, finalReminders) -> } 

Здесь круглые скобки используются для деструкции входного параметра на две переменные: игнорируемое значение ключа и finalReminders .