관리 메뉴

웹개발자의 기지개

Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener 에러해결법 본문

안드로이드

Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener 에러해결법

http://portfolio.wonpaper.net 2020. 2. 6. 06:08

Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;

 

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList

 

 

MainActivity.java 상에서는 

setContentView(R.layout.activity_main);  소스부분에서 에러가 발생했다.

 

이는 Android Studio 최신 개발툴 버전이 이루어지면서 androidx 형태로 버전업이 이루어졌는데, 이에 따라서 

기존의 버전상에 있는 AppCompat 형태와 호환상 충돌이 나타나는 경우에 나오는 에러이다.

 

build.gradle (app) 에 아래의 소스를 추가해놓도록 하자.

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx.appcompat") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "1.+"
            }
        }
    }
}

 

참고 : https://github.com/facebook/flipper/issues/146

Comments