Java.lang.NoClassDefFoundError: Неудачное разрешение: Landroid/support/v4/animation/AnimatorCompatHelper
После обновления Android Studio до версии 2.3. Каждый раз, когда я провожу свой ViewPager, я получаю эту ошибку, и приложение вылетает:
03-23 17:19:19.437 28523-28523/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.irokotv.plus, PID: 28523
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.animateAdd(DefaultItemAnimator.java:218)
at android.support.v7.widget.SimpleItemAnimator.animateAppearance(SimpleItemAnimator.java:114)
at android.support.v7.widget.RecyclerView.animateAppearance(RecyclerView.java:3528)
at android.support.v7.widget.RecyclerView$4.processAppeared(RecyclerView.java:461)
at android.support.v7.widget.ViewInfoStore.process(ViewInfoStore.java:249)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3385)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3135)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3568)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1766)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1364)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:846)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:818)
at android.view.View.layout(View.java:18793)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2615)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2331)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1490)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7027)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:702)
at android.view.Choreographer.doFrame(Choreographer.java:638)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
Приложение используют для работы задолго до обновления. Я уже убрал проект. Обесцените кэши и используйте чистоту. Не знаю, что еще, что я могу сделать/попробовать. Мой коллега может построить проект, и он работает без каких-либо проблем.
Ответы
Ответ 1
напишите этот код в файле build.gradle
в папке app
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
ref с этим fooobar.com/questions/120209/...
Надеюсь, это поможет вам, счастливое кодирование
Ответ 2
Я использовал версию 26.0.1 (на Android Studio 3.0 beta 2), библиотеки поддержки имели версию 47, и у меня была такая же проблема. Что сработало для меня, так это удалить/прокомментировать эту строку из всех файлов gradle:
compile 'com.android.support:support-v4:26.0.1'
Затем добавлен следующий код из комментария "Er Pathak Harshal" в нижней части (Module: app и Module: Library) в файлах build.gradle:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
Обратите внимание, что если у вас более одного файла build.gradle, то есть (модуль: библиотека и модуль: yourapp), вам нужно добавить этот код в оба файла, чтобы он работал.
Ответ 3
вы можете изменить версию v7 lib версии до версии 26.0.0-alpha1 shuch:
`compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile 'com.android.support:design:26.0.0-alpha1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'`
Я надеюсь, что это поможет вам
Ответ 4
Я смог выяснить, в чем проблема. Студия Android обновила "Репозиторий поддержки Android" (находится в sdk-менеджере) до версии 46, которая включала в себя кучу альфа-поддерживающих библиотек для Android O. Я вернулась к версии 25, и проблема была решена. Очевидно, Android Studio 2.3 продолжала строить против библиотек поддержки Alpha, вызывая несоответствие в зависимостях, из-за которых приложение вышло из строя.
Ответ 5
Просто создайте "APK" вместо мгновенного запуска, и он будет работать отлично.
Ответ 6
Используйте новейшие библиотеки поддержки. (Последние стабильные выпуски помогли мне - то есть в настоящее время обновление с 27.1.1 или старше до 28.0.0 исправляет это.)
Ответ 7
я исправил ошибку обновления версии в приложении Gradle
implementation 'com.android.support:design:27.0.2'
implementation 'com.android.support:support-v4:27.0.2'
к
implementation 'com.android.support:design:27.1.1
implementation 'com.android.support:support-v4:27.1.1
Ответ 8
У меня также была та же проблема. После охоты на целый день ничего не нашел. Затем утром со свежим умом я понял, что в моей одной из пользовательских библиотек используются функции java 8, а мой модуль приложения gradle не включает его.
Итак, я просто добавил следующую строку в файле build.gradle(Modeule:app)
, чтобы заставить ее работать:
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
Я надеюсь, что это тоже поможет другим.
Ответ 9
Я столкнулся с той же проблемой при интеграции aviary sdk
, а затем решил понижение aviary sdk
, как показано ниже. ,
- совместимость приложения для
compile 'com.android.support:appcompat-v7:25.4.0'
- Целевая версия SDK для
targetSdkVersion 25
- скомпилировать версию SDK для
compileSdkVersion 25
Ответ 10
Убедитесь, что в вашем файле build.gradle
все реализации имеют одинаковую версию.
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'