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

新建一個安卓項目, compileSdkVersion 29,然後啟動MainActivity就看到 Logcat中有警告信息:
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;
雖然不會拋出錯誤或異常,但是看到也很噁心。
解決方法,在build.gradle文件中添加以下配置
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "androidx.appcompat") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "1.+"
}
}
}
}
延伸閱讀:
- 迁移AndroidX 终端机型SDK版本低于android-28遇到的报错信息
- How to resolve NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener
- AndroidX:Appcompat I:art error android.view.View$OnUnhandledKeyEventListener
- NoClassDefFoundErrorの解決方法:Landroid / view / View $ OnUnhandledKeyEventListenerの解決に失敗しました。