5 votes

Android Studio E/dalvikvm: Impossible de trouver la classe... référencée par la méthode

J'ai rencontré un problème qui semble avoir quelque chose à voir avec les bibliothèques dans Android Studio.
J'ai des erreurs de compilation comme :

Impossible de trouver la classe 'android.os.PersistableBundle référencée depuis la méthode com.example.jack.test1.MainActivity.access$super', Impossible de trouver la classe 'android.app.SharedElementCallback référencée depuis la méthode com.example.jack.test1.MainActivity.access$super', Impossible de trouver la classe 'android.app.ActivityManager$TaskDescription.

L'application fonctionne normalement, mais lorsqu'il s'agit d'exécuter un certain événement de bouton, elle cesse de fonctionner. Mon ami a exactement le même code que moi, mais dans mon cas cela ne fonctionne pas. J'ai essayé de passer à un niveau API plus récent et essayé différentes versions du plugin gradle mais le problème persiste. Merci

Exécutant Android Studio 2.0
Version gradle 2.10
sdk min 4.0

2voto

MandisaW Points 396

J'ai rencontré cette erreur dans Android Studio v2.0 lors de la construction d'un enfant vide de AppCompatActivity à partir de la bibliothèque de support (v7-appcompat). Il semble que le problème soit survenu lorsque les outils de build (Gradle v2.1.0, plugin Android v2.10) ont été mis à jour après la mise à jour de la bibliothèque de support correspondante (v23.3.0).

Ma solution :

  • Supprimer la référence à la dépendance de la bibliothèque de support de mon fichier build.gradle au niveau du module
  • Nettoyer le projet
  • Redémarrer Android Studio (éventuellement en option)
  • Ajouter de nouveau la bibliothèque de support via Structure du Projet > Dépendances

Ça semble fonctionner jusqu'à présent, bien que ce serait bien à l'avenir de pouvoir spécifier un ordre de mise à jour, ou de mettre en place une sorte de hiérarchie de dépendances pour les bibliothèques/réglages qui dépendent des outils de build.

0voto

sam Points 1473

J'ai rencontré le même problème. Le problème vient de la différence entre la version des outils de compilation Android et la version de la bibliothèque de support Android (appcompat).

Vous pouvez résoudre ce problème en mettant à jour la version de vos outils de compilation et la version de la bibliothèque de support vers la dernière version ou en utilisant une bibliothèque appcompat inférieure à la version des outils de compilation et en la modifiant dans votre fichier gradle.

Vous pouvez trouver toutes les révisions de la bibliothèque de support ici

Pour obtenir et mettre à jour votre version de compilation et la version de la bibliothèque de support, veuillez consulter le fichier build.gradle à l'intérieur du module de votre application

0voto

P Kuijpers Points 660

Activer Multidex a résolu le problème pour moi. Une explication plus détaillée peut être trouvée dans ma réponse à une question similaire sur ici.

0voto

JC_ Points 30

Ce que je pense a résolu les problèmes pour moi (après avoir essayé les suggestions ci-dessus) Réduire le code et utiliser règles de progaurd expliqué officiellement ici

Comme je suis novice à Android Studio, senti que mon projet, bien qu'une petite application, pourrait être gonflé par de multiples inclusions de bibliothèques expérimentales + tant de commentaires (et de code inactif à l'intérieur) causant 64K? (pasIguess), références illégitimes (peut-être!); juste une supposition intuitive après avoir lu la réponse de @PKuijpers (merci!). Et honnêtement, je ne voulais pas inclure multiDex parce qu'après avoir également lu le document officiel, j'étais sûr que mon application n'était pas PokemonGo ou NFS ou assez grande pour qualifier pour multidex.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X