Τρίτη 17 Απριλίου 2012

CST Connect Debbuging

   Ο ώρα του beta testing της εφαρμογής πλησιάζει και αυτό δημιούργησε μια καινούργια ανάγκη, την ανάγκη του feedback! Το Android από την έκδοση froyo (2.2) και μετά έχει ενσωματωμένο crash reporter αλλά αυτός δουλεύει μόνο σε συνδυασμό με το marketplace, απαιτεί δηλαδή την εφαρμογή να είναι publiced και επίσης δίνει περιορισμένο feedback.

   Η έρευνα μου για την καλύτερη open source βιβλιοθήκη έφερε καρπούς άμεσα! Η απάντηση στο πρόβλημα μου ακούει στο όνομα "ACRA - Application Crash Report for Android library" και είναι ακριβώς αυτό που έψαχνα! Η βιβλιοθήκη είναι πολύ απλή στο στήσιμο (μου πήρε κυριολεκτικά 10' για να την ενσωματώσω μαζί με τη δημιουργία του Google Doc αρχείου) και ήδη από το πρώτο bug report δηλώνω πλήρως ευχαριστημένος! H ACRA επίσης υποστηρίζει error reporting μέσω αποστολής email ή ανέβασμα μέσω script σε http server.

   Η βιβλιοθήκη είναι open source (Apache License 2.0), λειτουργεί σε όλες τις εκδόσεις του Android και όχι μόνο από την 2.2 και μετά και υποστηρίζει κάμποσες βολικές μεθόδους συλλογής δεδομένων. Η μέθοδος που με κέρδισε και θα χρησιμοποιηθεί κατά κόρον στο debugging του CST Connect είναι η συλλογή των δεδομένων σε ένα spreadsheet έγγραφό των Google Docs. Η διαδικασία συλλογής δεδομένων είναι απλή και πάνω από όλα αθόρυβη διότι δεν αναγκάζει τον χρήστη να στείλει δεδομένα...το κάνει από μόνη της! Επίσης μαζί με την ενεργοποίηση των notifications μέσω e-mail που παρέχει η πλατφόρμα Google Docs, το bug reporting γίνεται real time!

H ACRA επί το έργο!


   Μόλις η εφαρμογή κρασάρει, αντί να εμφανίσει αμέσως το παράθυρο του Force Close, η βιβλιοθήκη:
  1. πιάνει την εξαίρεση που δεν πιάσαμε εμείς (unhantled exception) και δημιουργεί ένα report,
  2.  συλλέγει όλα τα στοιχεία που μπορεί από διάφορες διαθέσιμες πηγές της συσκευής μας και τα ανεβάζει όλα στο έγγραφο Spreadsheet που έχουμε δημιουργήσει σαν μια νέα γραμμή,
  3. τέλος αφήνει την exception να κρασάρει την εφαρμογή και να εμφανίσει το γνωστό παράθυρο στην οθόνη του χρήστη.
   Τα στοιχεία που μαζεύει το error report είναι πολλά και πολύ σημαντικά για τη διαδικασία του debugging! Τα σημαντικότερα είναι:

  1. Ακριβή ημερομηνία και ώρα που συνέβη η αναφορά
  2. Η έκδοση της εφαρμογής που προκάλεσε το FC (Force Close)
  3. Το μοντέλο της συσκευής και η έκδοση Android που τρέχει
  4. Το stack trace φυσικά που για αυτό γίνεται όλη η φασαρία!
  5. Κάποιες επιπλέον πληροφορίες για το hardware της συσκευής, καθώς και την ανάλυση της οθόνης μαζί με το DPI της.
    Η ενσωμάτωση της ACRA λοιπόν πρόκειται να κάνει τη ζωή μου αρκετά πιο εύκολη (ή πιο δύσκολη αν τα reports πέφτουν σαν μπόρα το καλοκαίρι! :P)  και τη συνιστώ φυσικά σε όλους τους developers που ψάχνουν μια δωρεάν και open source βιβλιοθήκη για error reporting.


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου