Exception Info: Guide de Résolution d’Erreur
Aperçu de l’Erreur
L’erreur “Exception Info” se produit fréquemment dans les applications Android, en particulier lors de l’utilisation de connexions réseau non sécurisées sur Android 9 et versions ultérieures. Cette erreur indique que l’application essaie d’accéder à des ressources via HTTP (non sécurisé) alors que les paramètres de sécurité du réseau interdisent ce type de trafic. Cela peut entraîner des blocages ou des comportements inattendus au sein de l’application.
Causes Courantes
Les principales causes de l’erreur “Exception Info” incluent :
- Paramètres de sécurité du réseau non configurés correctement dans le fichier
AndroidManifest.xml. - Utilisation de ressources HTTP alors que les règles de sécurité exigent HTTPS.
- Configuration de
network_security_config.xmlmanquante ou incorrecte. - Problèmes de mémoire lors du traitement d’images de grande taille, entraînant un dépassement de mémoire (OutOfMemoryError).
- Certificats SSL non valides ou problèmes de vérification des certificats.
Méthodes de Solution
Méthode 1: Configurer le fichier network_security_config.xml
Pour autoriser le trafic HTTP, vous devez créer ou modifier le fichier network_security_config.xml.
- Créez un fichier XML dans le répertoire
res/xml/nomménetwork_security_config.xml. - Ajoutez le code suivant :
“`xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config><br />
<domain-config cleartextTrafficPermitted="true"><br />
<domain includeSubdomains="true">api.example.com</domain><br />
</domain-config><br />
</network-security-config><br />
<code><ol>
<li>Modifiez le fichier <code>AndroidManifest.xml</code> pour inclure cette configuration :</li>
</ol>
<code>xml
<application
android:networkSecurityConfig="@xml/network_security_config"
…>
<uses-permission android:name="android.permission.INTERNET" />
…
</application></code>
<h3>Méthode 2: Utiliser <code>base-config</code> dans <code>network_security_config.xml</code></h3>
Si vous souhaitez appliquer une configuration de sécurité plus générale :
<ol>
<li>Modifiez le fichier <code>network_security_config.xml</code> comme suit :</li>
</ol></code>xml<br />
<?xml version="1.0" encoding="utf-8"?>
<network-security-config><br />
<base-config cleartextTrafficPermitted="true"><br />
<trust-anchors><br />
<certificates src="system" /><br />
</trust-anchors><br />
</base-config><br />
</network-security-config><br />
“`
- Assurez-vous que votre
AndroidManifest.xmlréférence ce fichier comme décrit précédemment.
Méthode 3: Gérer les erreurs de mémoire lors du chargement d’images
Pour éviter les erreurs de mémoire lors du chargement d’images, utilisez l’option inSampleSize pour réduire la taille des images :
- Implémentez la méthode suivante pour décoder une image :
“`java
private Bitmap decodeFile(File f)

コメント