Grâce à l’excellent tuto du site nullwire.com , je vais mettre en place une librairie qui permet de capturer l’exception ANR (Application not responding) d’une application installée sur des terminaux android, et les envoyer sur mon site internet.
Je vais utiliser Android Remote Exception logger pour logger mes exceptions sur mon site. Pour le code source de cette classe c’est ici
- Télécharger le fichier trace. jar.
- Avec eclipse sur mon projet je fais bouton droit->propriété->java build path dans la liste et dans l’onglet librairie je fais importer le fichier trace.jar
Dans la méthode onCreate de ma classe principale je rajoute.
ExceptionHandler.register(this);
Dans ce cas de figure l’exception sera envoyé sur le site http://trace.nullwire.com. Pour l’envoyer sur mon site je mets cette ligne
ExceptionHandler.register (this, "http://your.domain/path");
Ensuite sur l’adresse your.domain/path, je peut mettre un script pour envoyer des mails, ou créer un page web qui affiche les log. Les variables sont envoyées en POST :
- $_POST[‘package_version’],contient le nom du paquet de l’application
- $_POST[‘nom_du_paquet’], contient la version telle que spécifiée dans votre AndroidManifest.xml.
- $_POST[‘stacktrace’]. contient les informations sur l’exception.
Il ne faut pas oublier d’autoriser l’accès à internet dans son fichier Androidmanifest.xml
<uses-permission android:name="android.permission.INTERNET" />