SDK 1.9.4 버전으로 설정 한 후 일부 FloatPoint를 DoublePoint로 수정
(1) mRouteCustomObjectList: DoublePoint로 변경
(2) reverseGeocodeWithPos: DoublePoint로 변경
isVisiblePOI 클래스 멤버 삭제
routeTheme: Access 안됨
기존 override 함수들 중 지원하지 않는 override 함수 제거
(1) onPOISelected → 기존 코드 다른 함수로 변경 필요한 것인지 확인 필요
(2) onRouteSelected → 기존 코드 다른 함수로 변경 필요한 것인지 확인 필요
(3) onUserLocationAnimationEnded
(4) onMarkerSelected → 기존 코드 다른 함수로 변경 필요한 것인지 확인 필요
(5) guidanceRouteChanged → 기존 코드 다른 함수로 변경 필요한 것인지 확인 필요
신규 override 함수 추가
(1) onDoubleTapped → 함수 호출되는 경우 확인 필요
(2) onLongPressed → 함수 호출되는 경우 확인 필요
(3) onSingleTapped → 함수 호출되는 경우 확인 필요
(4) naviViewDidUpdateCustomButton → 함수 호출되는 경우 확인 필요
(5) naviViewIsArrival → 함수 호출되는 경우 확인 필요
(6) naviViewPopupOpenCheck → 함수 호출되는 경우 확인 필요
(7) naviViewScreenState → 함수 호출되는 경우 확인 필요
(8) guidanceRouteChanged → 함수 호출되는 경우 확인 필요
KNRoute의 viaLocations 삭제됨 (일단 주석 처리 하였으나, 수정 필요한 것으로 보임)
위 1,2,3,4, 5, 6 처리 후 실행하였으나, toolbar 관련 소스에서 앱 비정상 종료 됨
소스 Revert하여 Log를 커멘트로 남기지는 못하였습니다. → Log 아래 추가하였습니다.
특히, 위 6번 항목은 수정 방법 가이드 요청 드립니다. (너무 막연하게 작성했네요. 수정하고자 하는 소스는 아래와 같습니다.)
fun setFullRouteData(trip: KNTrip, route: MutableList<KNRoute>) {
_fullRouteInfoData.value = FullRouteData().apply {
val endLocation = route[0].mainDirectionList().last().location
var tempLocation = route[0].mainDirectionList().first().location
if (route[0].viaLocations != null && route[0].viaLocations!!.isNotEmpty()) {
val list = route[0].viaLocations!!
for (i in list.indices) {
val point = WayPointInfos(
trip.vias!![i].name,
KNToTimeStr(tempLocation.timeToLocation(list[i])),
KNToDistStr(tempLocation.distToLocation(list[i]))
)
wayPoints.add(point)
tempLocation = list[i]
}
}
goalTime = KNToTimeStr(tempLocation.timeToLocation(endLocation))
goalDist = KNToDistStr(tempLocation.distToLocation(endLocation))
goalName = trip.goal.name
pri_totalDist = KNToDistStr(route[0].totalDist)
pri_totalTime = KNToTimeStr(route[0].totalTime)
if (route.size > 1) {
sec_totalDist = KNToDistStr(route[1].totalDist)
sec_totalTime = KNToTimeStr(route[1].totalTime)
}
}
}
--------- beginning of crash
2024-02-29 15:31:15.466 5155-5284 AndroidRuntime com.ways1.ignomad E FATAL EXCEPTION: Thread-14
Process: com.ways1.ignomad, PID: 5155
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. Expected: main Calling: Thread-14
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9994)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:2082)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at androidx.drawerlayout.widget.DrawerLayout.requestLayout(DrawerLayout.java:1353)
at android.view.View.requestLayout(View.java:27043)
at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:380)
at android.view.View.requestLayout(View.java:27043)
at android.view.ViewGroup.addView(ViewGroup.java:5102)
at android.view.ViewGroup.addView(ViewGroup.java:5076)
at androidx.appcompat.widget.Toolbar.addSystemView(Toolbar.java:1656)
at androidx.appcompat.widget.Toolbar.setTitle(Toolbar.java:851)
at androidx.appcompat.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:262)
at androidx.appcompat.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:244)
at androidx.appcompat.app.ToolbarActionBar.(ToolbarActionBar.java:78)
at androidx.appcompat.app.AppCompatDelegateImpl.setSupportActionBar(AppCompatDelegateImpl.java:646)
at androidx.appcompat.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:185)
at com.ways1.ignomad.activity.MainActivity.initToolBar(MainActivity.kt:208)
at com.ways1.ignomad.activity.MainActivity.initAppSettings(MainActivity.kt:202)
at com.ways1.ignomad.activity.MainActivity.access$initAppSettings(MainActivity.kt:36)
at com.ways1.ignomad.activity.MainActivity$sdkInit$1$1$1.invoke(MainActivity.kt:194)
at com.ways1.ignomad.activity.MainActivity$sdkInit$1$1$1.invoke(MainActivity.kt:183)
at com.kakaomobility.knsdk.KNBaseSDK$e.a(KNBaseSDK.kt:26)
at com.kakaomobility.knsdk.KNBaseSDK$e.invoke(KNBaseSDK.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK$c$a$b.invoke(KNBaseSDK.kt:18)
at com.kakaomobility.knsdk.m0.g$a$a.invoke(KNMapManager.kt:9)
at com.kakaomobility.knsdk.s0.v0.invoke(KNMapLoader2.kt:40)
at com.kakaomobility.knsdk.s0.c1$f.b(KNRealmLoader.kt:468)
at com.kakaomobility.knsdk.s0.w1.invokeSuspend(Unknown Source:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at com.kakaomobility.knsdk.z.b1.a(KNThreadPoolPriorityThreadFactory.kt:1)
at com.kakaomobility.knsdk.z.b1$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@629d232, java.util.concurrent.Executors$FinalizableDelegatedExecutorService@285eb83]
2024-02-29 15:31:15.488 5155-5284 Process com.ways1.ignomad I Sending signal. PID: 5155 SIG: 9
---------------------------- PROCESS ENDED (5155) for package com.ways1.ignomad ----------------------------
(1) onPOISelected → KNMapPOIEventListener 확인 부탁드립니다.
(2) onRouteSelected → KNMapRouteEventListener 확인 부탁드립니다.
(3) onUserLocationAnimationEnded - KNMapUserLocationEventListener 확인 부탁드립니다.
(4) onMarkerSelected → KNMarkerEventListener 확인 부탁드립니다.
(5) guidanceRouteChanged → KNGuidance_GuideStateDelegate와 동일하며 해당 함수만 parameter 추가가 되었습니다
5.
(1 ~ 3) https://developers.kakaomobility.com/docs/android-ref-kotlin/interface-KNMapViewEventListener/ 에서 확인하실 수 있습니다
(4 ~ 7) https://developers.kakaomobility.com/docs/android-ref-kotlin/interface-KNNaviView_StateDelegate/ 에서 확인하실 수 있습니다
(8) guidanceRouteChanged → 경로가 변경될 때 호출되며, 기존에 사용하시던 KNGuidance_GuideStateDelegate.guidanceRouteChanged에서 parameter가 추가되었습니다
6. KNRoute.locationOfPoi()를 사용하셔야 합니다
코드는 아래와 같이 수정하면 될 것 같습니다
fun setFullRouteData(trip: KNTrip, route: MutableList) {
_fullRouteInfoData.value = FullRouteData().apply {
val endLocation = route[0].mainDirectionList().last().location
var tempLocation = route[0].mainDirectionList().first().location
if (trip.vias != null && trip.vias!!.isNotEmpty()) {
for (via in trip.vias!!) {
val viaLocation = route[0].locationOfPoi(via)
if (viaLocation != null) {
val point = WayPointInfos(
via.name,
KNToTimeStr(tempLocation.timeToLocation(viaLocation)),
KNToDistStr(tempLocation.distToLocation(viaLocation))
)
wayPoints.add(point)
tempLocation = viaLocation
}
}
}
goalTime = KNToTimeStr(tempLocation.timeToLocation(endLocation))
goalDist = KNToDistStr(tempLocation.distToLocation(endLocation))
goalName = trip.goal.name
pri_totalDist = KNToDistStr(route[0].totalDist)
pri_totalTime = KNToTimeStr(route[0].totalTime)
if (route.size > 1) {
sec_totalDist = KNToDistStr(route[1].totalDist)
sec_totalTime = KNToTimeStr(route[1].totalTime)
}
}
}
아래 비정상로그 관련하여 확인해 본 결과,
메인스레드에서 수행이 되지 않아서 발생한 것으로 보이며,
해당 작업이 메인스레드에서 이루어지도록 수정이 되어야 할 것으로 보입니다.
3번 문의 사항 routeTheme Access 관련하여 KNComponentMapView 처리를 어떻게 해야 하는지 문의 드립니다.
(현재는 테스트를 위하여 routeTheme 적용 부분만 주석 처리 한 상태입니다.)
private fun routeDraw(aRoute: MutableList<KNRoute>, fixScale: Boolean = false) {
with(mBinding.mapview) {
val isNight = mapTheme == KNMapTheme.driveNight()
//routeTheme = if (isNight) KNMapRouteTheme.trafficNight() else KNMapRouteTheme.trafficDay()
setRoutes(aRoute)
...
}
더불어 개발자 사이트에 "해당 함수는 KNNaviview.initWithGuidance 이전에 호출되어야 합니다."라는 내용이 있는데 동일한 클래스에서 호출하면 되는 것인지도 함께 문의 드립니다.
지난번과 마찬가지로 SDK 업그레이드 후 실행할 때 앱이 종료되는 현상이 발생하고 있습니다.
(1) 기존 코드로 실행 할 경우 이전과 동일한 로그로 앱이 종료됩니다.
E FATAL EXCEPTION: Thread-14
Process: com.ways1.ignomad, PID: 28202
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. Expected: main Calling: Thread-14
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9994)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:2082)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at android.view.View.requestLayout(View.java:27043)
at androidx.drawerlayout.widget.DrawerLayout.requestLayout(DrawerLayout.java:1353)
at android.view.View.requestLayout(View.java:27043)
at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:380)
at android.view.View.requestLayout(View.java:27043)
at android.view.ViewGroup.addView(ViewGroup.java:5102)
at android.view.ViewGroup.addView(ViewGroup.java:5076)
at androidx.appcompat.widget.Toolbar.addSystemView(Toolbar.java:1656)
at androidx.appcompat.widget.Toolbar.setTitle(Toolbar.java:851)
at androidx.appcompat.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:262)
at androidx.appcompat.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:244)
at androidx.appcompat.app.ToolbarActionBar.(ToolbarActionBar.java:78)
at androidx.appcompat.app.AppCompatDelegateImpl.setSupportActionBar(AppCompatDelegateImpl.java:646)
at androidx.appcompat.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:185)
at com.ways1.ignomad.activity.MainActivity.initToolBar(MainActivity.kt:205)
at com.ways1.ignomad.activity.MainActivity.initAppSettings(MainActivity.kt:199)
at com.ways1.ignomad.activity.MainActivity.access$initAppSettings(MainActivity.kt:34)
at com.ways1.ignomad.activity.MainActivity$sdkInit$1$1$1.invoke(MainActivity.kt:191)
at com.ways1.ignomad.activity.MainActivity$sdkInit$1$1$1.invoke(MainActivity.kt:180)
at com.kakaomobility.knsdk.KNBaseSDK$e.a(KNBaseSDK.kt:26)
at com.kakaomobility.knsdk.KNBaseSDK$e.invoke(KNBaseSDK.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK$c$a$b.invoke(KNBaseSDK.kt:18)
at com.kakaomobility.knsdk.m0.g$a$a.invoke(KNMapManager.kt:9)
at com.kakaomobility.knsdk.s0.v0.invoke(KNMapLoader2.kt:40)
at com.kakaomobility.knsdk.s0.c1$f.b(KNRealmLoader.kt:468)
at com.kakaomobility.knsdk.s0.w1.invokeSuspend(Unknown Source:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at com.kakaomobility.knsdk.z.b1.a(KNThreadPoolPriorityThreadFactory.kt:1)
at com.kakaomobility.knsdk.z.b1$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@dbe5017, java.util.concurrent.Executors$FinalizableDelegatedExecutorService@f394c04]
(2) 상기 로그에서 메인스레드에서 이루어지도록 수정(runOnUiThread 사용)한 결과도 앱이 종료되는 현상이 발생하고 있습니다. 로그 내용은 아래와 같습니다.
E FATAL EXCEPTION: main
Process: com.ways1.ignomad, PID: 28456
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/kakaomobility/knsdk/map/knmapview/idl/KNMapViewApi$DefaultImpls;
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:67)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:57)
at com.kakaomobility.knsdk.map.knmapview.KNBaseMapView.initMapView(KNBaseMapView.kt:30)
at com.kakaomobility.knsdk.map.knmapview.KNMapView.initMapView(KNMapView.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK.bindingMapView(KNBaseSDK.kt:1315)
at com.ways1.ignomad.fragment.FragmentMap.initMapView(FragmentMap.kt:57)
at com.ways1.ignomad.fragment.FragmentMap.onCreateView(FragmentMap.kt:52)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.kakaomobility.knsdk.map.knmapview.idl.KNMapViewApi$DefaultImpls” on path: DexPathList[[dex file “/data/data/com.ways1.ignomad/code_cache/.overlay/base.apk/classes5.dex”, zip file “/data/app/~~bTQ2-eCxNmeNMHP6yc5taQ==/com.ways1.ignomad-YSTK2VTYzgbVxJbpF4wl6Q==/base.apk”],nativeLibraryDirectories=[/data/app/~~bTQ2-eCxNmeNMHP6yc5taQ==/com.ways1.ignomad-YSTK2VTYzgbVxJbpF4wl6Q==/lib/arm64, /data/app/~~bTQ2-eCxNmeNMHP6yc5taQ==/com.ways1.ignomad-YSTK2VTYzgbVxJbpF4wl6Q==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:67)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:57)
at com.kakaomobility.knsdk.map.knmapview.KNBaseMapView.initMapView(KNBaseMapView.kt:30)
at com.kakaomobility.knsdk.map.knmapview.KNMapView.initMapView(KNMapView.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK.bindingMapView(KNBaseSDK.kt:1315)
at com.ways1.ignomad.fragment.FragmentMap.initMapView(FragmentMap.kt:57)
at com.ways1.ignomad.fragment.FragmentMap.onCreateView(FragmentMap.kt:52)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
SDK 1.6.8-hotfix-01에서는 정상 실행되고 있습니다. 확인 요청 드립니다.
현재 다른 기능 개발 건으로 GIT에 임시 저장(stash)해 놓은 상태입니다.
1 - routeTheme 부분을 아래와 같이 적용하시기 바랍니다
routeProperties = KNMapRouteProperties().apply {
theme = if (isNight) KNMapRouteTheme.trafficNight() else KNMapRouteTheme.trafficDay()
}
2 - 클래스를 찾지 못해 발생하는 오류로 보이며, 캐시가 손상된 것이 아닌지 의심이 됩니다.
AndroidStudio의 [File] > [Invalidate Caches] 을 이용하여 캐시를 한번 제거하신 후 다시 한번 확인 부탁드립니다.
E FATAL EXCEPTION: main
Process: com.ways1.ignomad, PID: 30613
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/kakaomobility/knsdk/map/knmapview/idl/KNMapViewApi$DefaultImpls;
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:67)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:57)
at com.kakaomobility.knsdk.map.knmapview.KNBaseMapView.initMapView(KNBaseMapView.kt:30)
at com.kakaomobility.knsdk.map.knmapview.KNMapView.initMapView(KNMapView.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK.bindingMapView(KNBaseSDK.kt:1315)
at com.ways1.ignomad.fragment.FragmentMap.initMapView(FragmentMap.kt:57)
at com.ways1.ignomad.fragment.FragmentMap.onCreateView(FragmentMap.kt:52)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.kakaomobility.knsdk.map.knmapview.idl.KNMapViewApi$DefaultImpls” on path: DexPathList[[dex file “/data/data/com.ways1.ignomad/code_cache/.overlay/base.apk/classes5.dex”, zip file “/data/app/~~QjXAgQ7ppGRKiGriD5fz8g==/com.ways1.ignomad-q1HVMYukar5XeJahFPBbUQ==/base.apk”],nativeLibraryDirectories=[/data/app/~~QjXAgQ7ppGRKiGriD5fz8g==/com.ways1.ignomad-q1HVMYukar5XeJahFPBbUQ==/lib/arm64, /data/app/~~QjXAgQ7ppGRKiGriD5fz8g==/com.ways1.ignomad-q1HVMYukar5XeJahFPBbUQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:67)
at com.ways1.ignomad.fragment.FragmentMap$initMapView$1.invoke(FragmentMap.kt:57)
at com.kakaomobility.knsdk.map.knmapview.KNBaseMapView.initMapView(KNBaseMapView.kt:30)
at com.kakaomobility.knsdk.map.knmapview.KNMapView.initMapView(KNMapView.kt:1)
at com.kakaomobility.knsdk.KNBaseSDK.bindingMapView(KNBaseSDK.kt:1315)
at com.ways1.ignomad.fragment.FragmentMap.initMapView(FragmentMap.kt:57)
at com.ways1.ignomad.fragment.FragmentMap.onCreateView(FragmentMap.kt:52)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)