반응형
Android에서 AppBarLayout을 추가하면 컴파일에는 문제가 없지만 실행 시점 오류가 발생합니다.
오류 내용은 'java.lang.ClassNotFoundException: Didn't find class "com.google.android.material.appbar.AppBarLayout"' 입니다.
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.material.appbar.AppBarLayout" on path: DexPathList
실행 시점에 발생하는 오류이기 때문에 패키지 모듈이 없어서 발생하는 문제로 확인됩니다.
build.gradle에 AppBarLayout에 필요한 패키지를 선언하면 해결됩니다.
Android ClassNotFoundException 해결 방법
implementation 'com.google.android.material:material:1.0.0'
혹 버전이 다를 경우 메인 클래스에서 오류가 발생할 수 있습니다.
버전 확인 후 패키지를 등록하면 정상적으로 AppBarLayout을 사용할 수 있습니다.
감사합니다.
반응형
'IT 나라 > 코틀린(Kotlin)' 카테고리의 다른 글
[ Kotlin ] 코틀린 파일 탐색기 만들기 4 (0) | 2021.10.29 |
---|---|
android How to solve 'java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor' (0) | 2021.09.29 |
[ Kotlin ] assets를 이용한 XML 파서 (0) | 2021.09.13 |
[ Kotlin ] 코틀린 파일 탐색기 만들기 3 (0) | 2021.09.08 |
[ Kotlin ] 코틀린 파일 탐색기 만들기 2 (0) | 2021.08.25 |