web-dev-qa-db-fra.com

java.lang.NoClassDefFoundError: Echec de la résolution de: Landroid/support/v4/animation/AnimatorCompatHelper.

Après avoir mis à jour Android Studio vers la version 2.3. Chaque fois que je glisse mon ViewPager, l'erreur persiste et l'application se bloque:

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)

L'application fonctionnait bien avant la mise à jour. J'ai déjà nettoyé le projet. Invalide les caches et lance un programme de nettoyage. Aucune idée de ce que je peux faire/essayer d'autre. Mon collègue peut construire le projet et cela fonctionne sans problème.

28
tonyo.dev

écrivez ce code dans votre fichier build.gradle dans le dossier 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 avec cette réponse stackoverflow answer

J'espère que cela vous aidera, codage heureux

20
Harshal Pathak

J'utilisais la version 26.0.1 (sur Android Studio 3.0 bêta 2). Les bibliothèques de support avaient la version 47 et le même problème. Ce qui a fonctionné pour moi est de supprimer/commenter cette ligne de tous les fichiers Gradle:

compile 'com.Android.support:support-v4:26.0.1'

Puis ajouté le code suivant du commentaire "Er Pathak Harshal" au bas de (Module: app et Module: Library) dans les fichiers 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'
            }
        }
    }
}

Veuillez noter que si vous avez plus d'un fichier build.gradle, c'est-à-dire (module: bibliothèque et module: votre application), vous devez ajouter ce code dans les deux fichiers pour le faire fonctionner.

11
SolidSnake

vous pouvez changer la version de support v7 lib en 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'`

J'espère que cela t'aidera

9
Jiansion

J'ai pu comprendre quel était le problème. Le studio Android a mis à jour le «référentiel de support Android» (situé dans sdk manager) vers la version 46, qui contenait un ensemble de bibliothèques de support Alpha pour Android O. Je suis revenu à la version 25 et le problème a été résolu. Apparemment, Android Studio 2.3 continuait à s'appuyer sur les bibliothèques de support Alpha, ce qui provoquait une disparité dans les dépendances, ce qui provoquait le blocage de l'application.

7
tonyo.dev

Utilisez les dernières bibliothèques de support. (Les dernières versions stables ont fonctionné pour moi - c’est-à-dire que je suis en train de passer de 27.1.1 à 28.0.0)

1
Oderik

Il suffit de générer un "APK" au lieu d’une exécution instantanée, et cela fonctionnera parfaitement.

1
Ajith K P

j'ai corrigé l'erreur de mise à jour de la version dans l'application 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’
1
Erick Amoedo

Assurez-vous que dans votre fichier build.gradle toutes les implémentations ont la même version.

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'
0
Daya Nithi

J'ai rencontré le même problème lors de l'intégration de aviary sdk, puis j'ai résolu les problèmes de rétrogradation comme indiqué ci-dessous. . 

  • compatibilité de l'application à compile 'com.Android.support:appcompat-v7:25.4.0'
  • cible la version de sdk sur targetSdkVersion 25
  • compiler la version de sdk en compileSdkVersion 25
0
roy

J'ai aussi eu le même problème. Après avoir chassé pendant une journée entière n'a rien trouvé. Puis le matin, avec un esprit neuf, je me suis rendu compte que ma bibliothèque personnelle utilise les fonctionnalités de Java 8 et que mon fichier de gradation de module d’application ne l’active pas.

Donc, je viens d'ajouter la ligne suivante dans le fichier build.gradle(Modeule:app) pour que cela fonctionne:

compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
}

J'espère que ça aide les autres aussi.

0
chandil03