因爲support
中v4
、v7
庫版本不一致,可能會引發一下錯誤。java
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper; at android.support.v7.widget.DefaultItemAnimator.resetAnimation(DefaultItemAnimator.java:515) at android.support.v7.widget.DefaultItemAnimator.animateMove(DefaultItemAnimator.java:255) at android.support.v7.widget.SimpleItemAnimator.animatePersistence(SimpleItemAnimator.java:126) at android.support.v7.widget.RecyclerView$4.processPersistent(RecyclerView.java:536) at android.support.v7.widget.ViewInfoStore.process(ViewInfoStore.java:241) at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3653) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3323) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3844) 2018-10-10 10:08:39.478 7341-7341/com.hzy.test E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.animation.AnimatorCompatHelper" on path: DexPathList[[zip file "/data/app/com.hzy.test-2/base.apk"],nativeLibraryDirectories=[/data/app/com.hzy.test-2/lib/arm64, /data/app/com.hzy.test-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 56 moreandroid
通過錯誤日誌的分析,總結出一個規律,凡是出現android/support/v4/
中找不到類或者方法,能夠肯定是依賴了多個不一樣版本的support
庫,均可以使用下面介紹的方法來解決。git
由於某個模塊的不一樣版本同時被依賴時,默認使用新版本,gradle同步時不會報錯。但在運行時就會報錯。github
要解決問題,就要找到哪一個庫使用了對應的版本庫,能夠使用以下命令查看。bash
gradlew :app:dependencies
複製代碼
針對以上問題,能夠有以下解決方法:app
implementation ('com.yanzhenjie:recyclerview-swipe:1.1.4') {
exclude group: 'com.android.support'
}
複製代碼
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:24.1.0'
}
}
複製代碼
或者ide
com.android.support
包名的庫版本都是用24.1.0
post
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '24.1.0'
}
}
}
}
複製代碼
若是以上方法不能解決您的問題,你能夠聯繫我。gradle
About Mespa