반응형
네이버 로그인 기능 구현 중 디바이스에 앱이 설치돼 있지 않을 때 앱이 종료 되는 현상이 발생 하였다.
오류 메세지는 아래 첨부 했고 원인을 찾아 보니 네이버 로그인 라이브러리에서 사용하는 브라우저 라이브러리의 임포트가 필요 했다.
오류 메세지 -
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/browser/customtabs/CustomTabsIntent$Builder;
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/browser/customtabs/CustomTabsIntent$Builder;
at com.nhn.android.naverlogin.util.CustomTabsManager.launchUrl(CustomTabsManager.java:118)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.openCustomTab(OAuthCustomTabActivity.java:91)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.initIntentData(OAuthCustomTabActivity.java:83)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.onResume(OAuthCustomTabActivity.java:134)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1446)
at android.app.Activity.performResume(Activity.java:7939)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4195)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4237)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
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)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.browser.customtabs.CustomTabsIntent$Builder" on path: DexPathList[[zip file "/data/app/com.smc.mobile.pguidea-JaphiTxWqYBAu4miyvDNhA==/base.apk"],nativeLibraryDirectories=[/data/app/com.smc.mobile.pguidea-JaphiTxWqYBAu4miyvDNhA==/lib/x86, /data/app/com.smc.mobile.pguidea-JaphiTxWqYBAu4miyvDNhA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.nhn.android.naverlogin.util.CustomTabsManager.launchUrl(CustomTabsManager.java:118)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.openCustomTab(OAuthCustomTabActivity.java:91)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.initIntentData(OAuthCustomTabActivity.java:83)
at com.nhn.android.naverlogin.ui.OAuthCustomTabActivity.onResume(OAuthCustomTabActivity.java:134)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1446)
at android.app.Activity.performResume(Activity.java:7939)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4195)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4237)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
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)
결론 - build.gradle에 browser 라이브러리를 implementation 해주면 된다.
implementation "androidx.browser:browser:1.0.0"
// 최신버전 2022.01.28 기준
// implementation "androidx.browser:browser:1.4.0"
// 현재 1.4.0 이 최신 버전인데 minsdk 버전을 31로 올려야 한다.
'Kotlin programming > 코틀린(kotlin)' 카테고리의 다른 글
[Android studio] 에뮬레이터 tool window에서 실행 하기 (0) | 2022.02.18 |
---|---|
[Kotlin] txt 파일 생성하고 데이터 내보내기(export txt file) (0) | 2022.02.15 |
[Kotlin] 키보드 내리기 Hide keyboard (0) | 2022.01.27 |
[Kotlin] JCenter 서비스 업데이트로 인한 mavenCentral 전환 이슈(Migration Jcenter to mavenCentral) (0) | 2022.01.18 |
[Kotlin] ONE UI 4.0 업데이트 하고 나서 앱이 사라 졌다! ㅠㅠ (0) | 2022.01.04 |