我目前工作的一個Android應用程序與科特林版本1.1.1
在我的代碼,我有幾個forEach
結構的疊瓦爲了閱讀幾個MutableList
和MutableMap
。
不幸的是,我的應用程序崩潰,並顯示以下堆棧跟蹤:
java.lang.NoClassDefFoundError: com.package.fragment.ReminderAddFragment$onRetrieveBusinessObjects$$inlined$forEach$lambda$1 at com.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects(ReminderAddFragment.kt:275) at com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjects(Droid4mizer.java:552) at com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal(Droid4mizer.java:606) at com.smartnsoft.droid4me.app.Droid4mizer.access$000(Droid4mizer.java:46) at com.smartnsoft.droid4me.app.Droid4mizer$1.run(Droid4mizer.java:197) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at 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
變量,一切似乎都沒有問題。
如果有人能幫助解決這個問題!
你能說明一下,你使用的是什麼版本的Kotlin? – Ilya
我正在使用Kotlin 1.1.1。我編輯了我的帖子。 – rolandl
你能發佈更多的上下文,就像你的包含和變量定義一樣嗎?你能以某種方式在崩潰前獲取代碼中的版本嗎?如果你得到一個沒有class-def的錯誤,你要麼分發你的二進制文件而沒有必要的依賴關係,要麼使用不同的版本運行,然後你使用它。 –