解決 Rejecting re-init on previously-failed class <androidx.core.view.ViewCompat$2> 警告

Posted by Y Cheung on Tue, Jun 23, 2020

新建一個安卓項目, compileSdkVersion 29,然後啟動MainActivity就看到 Logcat中有警告信息:

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

雖然不會拋出錯誤或異常,但是看到也很噁心。

解決方法,在 build.gradle 文件中添加以下配置

 1configurations.all {
 2    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
 3        def requested = details.requested
 4        if (requested.group == "androidx.appcompat") {
 5            if (!requested.name.startsWith("multidex")) {
 6                details.useVersion "1.+"
 7            }
 8        }
 9    }
10}

Reference