Web | App/Android

[Kotlin] 갑자기 Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: 어쩌구,,

며용 2020. 12. 14. 13:53
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;

갑자기 이런 오류가 떴는데 로그를 보니까

 

 

        setContentView(R.layout.activity_main)

여기가 문제란다,, 아니 지난주까지 잘됐잖아,,,, 왜이래,,,,,

 

 

 

이제 com.android.support 의 지원이 없어지고 androidx로 간다고 하는데 이거 때문에 그런건가?

아무튼 AppCompat 에서 나는 문제는 맞다

 

그래서 이 부분을 수정해줘야하는데 확인한 방법은 두 가지다

 

 

 

1. Dependency

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

build.gradle (Module: ) 제일 하단에 이 디펜던시를 추가해주거나

 

 

 

2. androidx.appcompat의 version upgrade

    implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'

appcompat를 업그레이드 해주면 된다

버전 체크: developer.android.com/jetpack/androidx/releases/appcompat

 

	// Java language implementation
    implementation "androidx.core:core:$core_version"
    // Kotlin
    implementation "androidx.core:core-ktx:$core_version"

Java language core 업그레이드로도 된다는 거 같다

버전 체크: developer.android.com/jetpack/androidx/releases/core

 

 

 

 

 

그래도 해결이 안되면 

Invalidate Caches / Restart 를 해보자,,

 

원래 먼가 업데이트 하고 나면 클린하게 해야한다고 한다

 

 

 

 

 

 

 

Reference:

stackoverflow.com/questions/52537638/how-to-resolve-noclassdeffounderror-failed-resolution-of-landroid-view-viewon

wonpaper.tistory.com/205

github.com/facebook/flipper/issues/146

github.com/tartarJR/Currencify/issues/17