_전에 3.3.4 버전으로 잘 실행되던 앱인데 3.3.9로 버전을 올리고
앱을 실행하는데 전에 안 나던 에러가 자꾸 납니다.
에러 로그는 아래와 같습니다.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.inkosoft.popupbook, PID: 28299
java.lang.NoClassDefFoundError: Failed resolution of: Lkr/co/shineware/ds/aho_corasick/AhoCorasickDictionary;
at kr.co.shineware.nlp.komoran.modeler.model.Observation.init(Observation.java:41)
at kr.co.shineware.nlp.komoran.modeler.model.Observation.(Observation.java:37)
at kr.co.shineware.nlp.komoran.core.model.Resources.init(Resources.java:67)
at kr.co.shineware.nlp.komoran.core.Komoran.(Komoran.java:82)
at com.inkosoft.popupbook.MainActivity.(MainActivity.java:315)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
at android.app.Instrumentation.newActivity(Instrumentation.java:1378)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4034)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kr.co.shineware.ds.aho_corasick.AhoCorasickDictionary" on path: DexPathList[[zip file "/data/app/jwz7PIZaaKtDy9JMcuR4pQ==/com.inkosoft.popupbook-LbgI8pj7LEZ_G8ghMKwy0w==/base.apk"],nativeLibraryDirectories=[/data/app/jwz7PIZaaKtDy9JMcuR4pQ==/com.inkosoft.popupbook-LbgI8pj7LEZ_G8ghMKwy0w==/lib/arm64, /system/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 kr.co.shineware.nlp.komoran.modeler.model.Observation.init(Observation.java:41)
at kr.co.shineware.nlp.komoran.modeler.model.Observation.(Observation.java:37)
at kr.co.shineware.nlp.komoran.core.model.Resources.init(Resources.java:67)
at kr.co.shineware.nlp.komoran.core.Komoran.(Komoran.java:82)
at com.inkosoft.popupbook.MainActivity.(MainActivity.java:315)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
at android.app.Instrumentation.newActivity(Instrumentation.java:1378)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4034)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
재현 경로
어떻게 하면 동일한 문제가 계속 발생하나요?
개발환경이 안드로이드 스튜디오입니다.
에러는 라이브러리를 초기화 하는 부분에서 나는 것 같습니다.
// KOMORAN 형태소분석기 모듈
import kr.co.shineware.nlp.komoran.constant.DEFAULT_MODEL;
import kr.co.shineware.nlp.komoran.core.Komoran;
import kr.co.shineware.nlp.komoran.model.KomoranResult;
import kr.co.shineware.nlp.komoran.model.Token;
// 형태소 분석기 생성
Komoran komoran = new Komoran(DEFAULT_MODEL.LIGHT);
@j7soft 리포트 감사합니다. 혹시 Gradle에서 KOMORAN 버전을 3.3.4로 변경하면 정상동작하나요? 간단한 HelloWorld App이지만 이전에 3.3.9로 설정된 프로젝트 실행 시 문제가 없었던 것을 확인했습니다 https://github.com/gamamoe/android-with-komoran 의존성 처리하는 과정에서 다른 문제가 있는 게 아닐까 싶기도 하네요
문제 설명
_전에 3.3.4 버전으로 잘 실행되던 앱인데 3.3.9로 버전을 올리고 앱을 실행하는데 전에 안 나던 에러가 자꾸 납니다. 에러 로그는 아래와 같습니다. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.inkosoft.popupbook, PID: 28299 java.lang.NoClassDefFoundError: Failed resolution of: Lkr/co/shineware/ds/aho_corasick/AhoCorasickDictionary; at kr.co.shineware.nlp.komoran.modeler.model.Observation.init(Observation.java:41) at kr.co.shineware.nlp.komoran.modeler.model.Observation.(Observation.java:37)
at kr.co.shineware.nlp.komoran.core.model.Resources.init(Resources.java:67)
at kr.co.shineware.nlp.komoran.core.Komoran.(Komoran.java:82)
at com.inkosoft.popupbook.MainActivity.(MainActivity.java:315)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
at android.app.Instrumentation.newActivity(Instrumentation.java:1378)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4034)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kr.co.shineware.ds.aho_corasick.AhoCorasickDictionary" on path: DexPathList[[zip file "/data/app/(Observation.java:37)
at kr.co.shineware.nlp.komoran.core.model.Resources.init(Resources.java:67)
at kr.co.shineware.nlp.komoran.core.Komoran.(Komoran.java:82)
at com.inkosoft.popupbook.MainActivity.(MainActivity.java:315)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
at android.app.Instrumentation.newActivity(Instrumentation.java:1378)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4034)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
jwz7PIZaaKtDy9JMcuR4pQ==/com.inkosoft.popupbook-LbgI8pj7LEZ_G8ghMKwy0w==/base.apk"],nativeLibraryDirectories=[/data/app/jwz7PIZaaKtDy9JMcuR4pQ==/com.inkosoft.popupbook-LbgI8pj7LEZ_G8ghMKwy0w==/lib/arm64, /system/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 kr.co.shineware.nlp.komoran.modeler.model.Observation.init(Observation.java:41) at kr.co.shineware.nlp.komoran.modeler.model.Observation.재현 경로
어떻게 하면 동일한 문제가 계속 발생하나요? 개발환경이 안드로이드 스튜디오입니다. 에러는 라이브러리를 초기화 하는 부분에서 나는 것 같습니다. // KOMORAN 형태소분석기 모듈 import kr.co.shineware.nlp.komoran.constant.DEFAULT_MODEL; import kr.co.shineware.nlp.komoran.core.Komoran; import kr.co.shineware.nlp.komoran.model.KomoranResult; import kr.co.shineware.nlp.komoran.model.Token;
기대 상황
정상적인 상황에서는 어떻게 동작해야 한다고 생각하세요?
환경 정보
어떤 환경에서 이 문제가 발생하였나요?
추가 정보
스크린샷이나 에러 로그 등, 추가 정보가 있다면 남겨주세요. 위 에러 로그 참고하십시요.