Side by side image of Android logo and user error code

10 messages d’erreur Android courants (et comment les corriger)

Avec Android 14 prévu pour une version provisoire début 2023, les consommateurs devront savoir comment naviguer dans la multitude d’erreurs de message connues pour affliger le logiciel. Espérons que la dernière version résoudra la plupart des problèmes et bogues technologiques ennuyeux avant un déploiement officiel. Mais sinon, il existe toujours un certain nombre de solutions pour corriger les erreurs récurrentes courantes.

Qu’il s’agisse de problèmes de mémoire, d’erreurs de mise en page principales, d’exceptions de pointeur nul, d’exceptions de conversion de classe, de trop nombreuses références de champs ou d’autres problèmes, découvrez comment vous débarrasser des erreurs de message Android standard le plus tôt possible.

ActivityNotFoundExceptionActivityNotFoundException

L’une des erreurs de message Android les plus courantes est l’exception ActivityNotFoundException, qui se produit lorsqu’un appel à startActivity

échoue car l’intention de l’activité est introuvable. Dans la plupart des cas, cela signifie généralement que le consommateur a oublié de définir correctement l’activité dans le manifeste.

Une solution assez simple, la meilleure façon de remédier au problème est d’ouvrir manuellement le manifeste et de s’assurer que toutes les activités ont été déclarées. Les utilisateurs doivent également s’assurer que chaque activité a été déclarée correctement, en utilisant soit le nom complet de la classe, soit l’abréviation du nom du package. Après avoir redémarré l’application, le message d’erreur devrait disparaître.

R.layout.main est introuvable/Impossible de résoudre le symbole R

Généralement causée par le fait qu’Android Studio ne peut pas prendre en charge correctement le R.java d’un utilisateur, cette erreur courante est extrêmement ennuyeuse mais assez facile à corriger. Au-delà de l’utilisation des meilleures applications Android pour apprendre le codage, la meilleure façon d’éliminer l’erreur est de nettoyer et de reconstruire le projet à l’aide de la barre d’outils Android Studio.

Ouvrez simplement l’outil et sélectionnez Build>Clean Project, attendez quelques secondes que l’invite se charge, puis appuyez sur Build>Rebuild Project. Si le message d’erreur persiste, assurez-vous que tous les fichiers de mise en page du projet sont correctement référencés. Si le problème persiste après le déplacement des fichiers, utilisez la barre d’outils Android pour sélectionner Fichier> Invalider les caches/Redémarrer> Invalider et redémarrer, ce qui devrait faire l’affaire.

ClassCastException

L’erreur de message ClassCastExpemption se produit lorsque le processus de conversion de Java devient incompatible avec une certaine variable de données. Par exemple, convertir une chaîne en un entier entraînera une erreur de message ClassCastException.

La meilleure façon de remédier à cette erreur de message est de parcourir manuellement le projet qui contient une erreur, d’inspecter les objets qui sont convertis dans cette zone et de s’assurer qu’aucun d’entre eux ne correspond. Si le problème persiste, il peut résulter du déplacement ou de la réorganisation des vues dans les fichiers de ressources de mise en page. Si tel est le cas, demandez à Android Studio de régénérer les fichiers de mise en page depuis le début et le problème devrait disparaître.

Trop de références de champs

Android enverra un message d’erreur chaque fois que les références du fichier de code d’octet DEX d’un projet dépasseront le nombre maximum de 65 536 méthodes. Le problème survient généralement lorsque les utilisateurs créent leur projet et le surchargent accidentellement avec trop de références. Heureusement, il existe deux solutions relativement simples, même lorsque vous utilisez les applications d’appel gratuites d’Android.

La première option consiste à réduire manuellement le nombre de références dans le projet en examinant les dépendances d’application, qui sont l’une des plus grandes sources de références de méthode. L’autre solution consiste simplement à configurer l’application pour accueillir plus d’un fichier DEX en activant la fonction Multidex.

INSTALL_FAIL_INSUFFICIENT_STORAGE

Lorsque les utilisateurs tentent d’installer leur projet sur un périphérique virtuel Android (AVD) mais ne disposent pas de suffisamment de mémoire pour le prendre en charge, ils reçoivent souvent le message d’erreur INSTALL_FAIL_INSUFFICIENT_STORAGE. La meilleure façon de remédier à ce problème est de fermer l’AVD et d’ouvrir l’outil AVD Manager, une fonction de stockage dont dispose Android mais qui manque aux iPhones.

Une fois l’outil AVD Manager ouvert, recherchez l’AVD errant qui doit être réparé et sélectionnez l’icône Modifier cet AVD, cliquez sur l’option Afficher les paramètres avancés et sélectionnez l’option Mémoire et stockage et augmentez la quantité d’espace pouvant être utilisée sur l’AVD. Avec les types de mémoire RAM, VM Heap, Stockage interne et Carte SD réglables, le réglage de tout ou partie éliminera généralement l’erreur de message.

OutOfMemoryError

Lorsqu’une application Android fait une demande de mémoire que le système ne peut pas prendre en charge, l’OutOfMemoryError condamné arrivera. Plusieurs causes de cette erreur ont été notées, qu’il s’agisse de fuites de mémoire, de chargement d’énormes bitmaps, de stockage de références trop longtemps, etc. Heureusement, malgré les arguments agités parmi les utilisateurs d’Android, Android Studio dispose d’une zone de maintenance de la mémoire complète pour résoudre le problème.

Bien qu’il soit important d’identifier la cause précise de l’erreur de mémoire, les utilisateurs doivent ouvrir la fenêtre Affichage> Outils et sélectionner l’option Android Monitor ou Android Profiler (selon l’appareil). Android Studio propose également Allocation Tracker et HPPROF Viewer pour prendre des instantanés de la banque de mémoire de l’application. Toutes ces options doivent être utilisées pour identifier le problème de mémoire et réduire la quantité de mémoire utilisée par une application.

NullPointerException

En déclarant une variable de référence en Java, les utilisateurs créent un pointeur de données vers un objet spécifique. Parfois, un utilisateur utilisera une référence qui n’a pas d’emplacement, c’est-à-dire une valeur nulle. L’utilisation d’une référence pointant vers une valeur nulle comme si elle pointait vers un objet entraîne généralement l’erreur de message NullPointerExcpetion (NPE), ce qui semble plus déroutant qu’il ne l’est à corriger.

Heureusement, l’outil Logcat Monitor identifiera la ligne de code exacte contenant l’erreur. Examinez cette partie du projet pour trouver la référence avec une valeur nulle attachée, localisez où elle doit être définie et réinitialisez la valeur. Si le problème persiste, utilisez l’invite findViewById, qui localisera généralement également la valeur nulle.

Veuillez choisir un répertoire JDK valide

Lorsque Android Studio ne parvient pas à localiser l’emplacement d’installation du JDK sur l’appareil d’un utilisateur, il envoie le message d’erreur ennuyeux Veuillez choisir un directeur valide. Pour remédier au problème, ouvrez simplement Fichier> Structure du projet dans la barre d’outils, faites défiler la fenêtre de gauche et choisissez Emplacement du SDK.

Une fois le menu Emplacement du SDK ouvert, assurez-vous que la case Emplacement du JDK est cochée. Si cela ne résout pas automatiquement le problème, revenez simplement au menu Emplacement du SDK et remplissez manuellement le chemin complet du JDK. Pour ceux qui ont du mal à localiser le JDK sur leur appareil, utilisez le terminal (iOS) et l’invite de commande (Windows) pour le trouver.

Seul le fil d’origine qui a créé une hiérarchie de vues peut toucher ses vues

Si un propriétaire d’Android reçoit cette longue erreur de message, cela signifie qu’il a tenté de modifier ou de mettre à jour son interface utilisateur (UI) en dehors du thread principal de l’interface utilisateur. Android Studio autorise uniquement la mise à niveau des interfaces utilisateur sur le thread d’interface utilisateur principal, alors gardez cela à l’esprit chaque fois que ce message d’erreur apparaît.

Pour corriger l’erreur, recherchez quelle partie de la tâche en arrière-plan tente de mettre à jour l’interface utilisateur et utilisez-la avec la commande runOnUiThread. Les utilisateurs peuvent également essayer la méthode de rappel de l’outil AsyncTask pour communiquer avec le thread principal de l’interface utilisateur et résoudre le problème de cette façon.

L’activité a fui la fenêtre qui a été ajoutée à l’origine ici

Lorsqu’un utilisateur essaie de quitter une activité avant que la fenêtre de dialogue n’ait été supprimée, il reçoit presque toujours ce message d’erreur. Pour éviter cela, ouvrez l’activité et assurez-vous que la boîte de dialogue est correctement fermée.

Pour ce faire, les utilisateurs peuvent appeler l’invite « dismiss » via les méthodes onDestroy ou onPause de l’activité. Une fois terminé avec succès, les utilisateurs d’Android pourront éliminer correctement la boîte de dialogue à la fermeture de l’activité, pas avant, évitant ainsi le contretemps technique du processus et permettant à l’appareil de fonctionner beaucoup plus facilement.

Publications similaires