Δευτέρα, 11 Φεβρουαρίου 2013

Τι είναι το boot animation και πώς φτιάχνουμε το δικό μας;


Μετά από λαϊκή απαίτηση σήμερα θα πούμε μερικά πράγματα για το boot animation και τον τρόπο για να κατασκευάσουμε το δικό μας για τη ROM μας!

Τι είναι το boot animation;
Το λέει και η λέξη. Είναι η κινούμενη εικόνα (animation) που βλέπουμε κατά την εκκίνηση (boot) της συσκευής μας. Κάθε ROM και κάθε κατασκευαστής έχει τη δική του καθώς πρόκειται κυρίως για θέμα πρεστίζ αλλά και για να μας διασκεδάσει με κάτι ευχάριστο όσο περιμένουμε να εκκινήσει το κινητό μας.

Όλοι έχουμε δει .gif αρχεία κάποια στιγμή στη ζωή μας, σωστά; Η διαφορά του .gif με το boot animation είναι ότι το πρώτο μας παρουσιάζει επαναλαμβανόμενα (σε loop) όλες τις εικόνες με τη σειρά. Το boot animation από την άλλη έχει την ιδιότητα να μας δείχνει ένα μέρος μόνο μια φορά και ένα άλλο μέρος σε loop. Στην πραγματικότητα δε συγκρίνονται μεταξύ τους καθώς είναι δύο εντελώς διαφορετικά πράγματα (το gif είναι αρχείο εικόνας ενώ το boot animation μία διαδικασία), αλλά δε γίνεται να το πούμε πιο απλά.

Ας πάρουμε για παράδειγμα αυτό της CyanogenMod 10:


Στο βίντεο βλέπουμε τον κύκλο που περιστρέφεται να εμφανίζεται σιγά σιγά, ακολουθεί το logo της CM10 με τον ίδιο τρόπο και όλο μαζί επαναλαμβάνεται μέχρι το τέλος. Ένα μέρος δηλαδή της εικόνας εμφανίζεται μόνο μια φορά και ένα άλλο επαναλαμβάνεται μέχρι να εκκινήσει το Android. Το μυστικό κρύβεται στο "bootanimation.zip" το οποίο θα βρούμε στη διαδρομή "system/media". Αν το ανοίξουμε θα δούμε μέσα δύο φακέλους. Στον πρώτο ("part0") περιέχονται οι εικόνες που εμφανίζονται μόνο μια φορά, ενώ στον δεύτερο ("part1") οι εικόνες που επαναλαμβάνονται. Ιδιαίτερη σημασία έχει και το αρχείο "desc.txt" το οποίο δίνει οδηγίες στο σύστημα για να παρουσιάσει με σωστή σειρά τα περιεχόμενα των φακέλων.


Πώς φτιάχνουμε το δικό μας;
Πρώτα από όλα πρέπει να αποφασίσουμε αν θέλουμε κάτι σαν του Cyanogen ή ένα σκέτο loop. Σε όποιο από τα δύο και να καταλήξουμε, το επόμενο βήμα είναι να φτιάξουμε τις εικόνες μας οι οποίες πρέπει να έχουν οπωσδήποτε ίδια ή μικρότερη ανάλυση με αυτή της οθόνης της συσκευής μας, ο τύπος τους να είναι .png ή .jpg και η ονομασία τους με αριθμητική ακολουθία (π.χ. 101.png, 102.png, 103.png κ.ο.κ.).

Αν φτιάχνουμε ένα σύνθετο boot animation, όπως αυτό του Cyanogen, δημιουργούμε το φάκελο "part0" και τοποθετούμε εκεί το πρώτο μέρος των εικόνων μας, δηλαδή αυτό που θέλουμε να εμφανιστεί μόνο μια φορά. Το δεύτερο μέρος το οποίο θέλουμε να επαναλαμβάνεται, το τοποθετούμε στο φάκελο "part1" με τον ίδιο τρόπο.


Σειρά έχει τώρα το αρχείο εντολών που είπαμε προηγουμένως, το "desc.txt". Αν το ανοίξετε, θα δείτε ότι έχει την εξής μορφή:

480 800 30
p 1 0 part0
p 0 0 part1

  • Στην πρώτη γραμμή: Το 480 και το 800 είναι οι διαστάσεις των εικόνων και κατ' επέκταση της ανάλυσης οθόνης της συσκευής (480x800p), ενώ το 30 είναι η ταχύτητα εμφάνισής τους (30 fps).
  • Στη δεύτερη γραμμή: Το part0 σημαίνει ότι αναφερόμαστε στο φάκελο "part0", Το 1 σημαίνει ότι οι εικόνες που περιέχονται σε αυτόν θα εμφανιστούν μία φορά, ενώ το 0 σημαίνει ότι οι εικόνες του επόμενου φακέλου θέλουμε να εμφανιστούν άμεσα, χωρίς καθυστέρηση.
  • Στην τρίτη γραμμή: Αναφερόμαστε φυσικά στο φάκελο "part1" και το πρώτο 0 σημαίνει ότι οι εικόνες του φακέλου θα προβάλλονται συνεχώς (0 = άπειρο), ενώ το δεύτερο 0 σημαίνει ότι όταν τελειώνει η προβολή των εικόνων, να ξαναρχίζει άμεσα, χωρίς καθυστέρηση.

Προσοχή: Σιγουρευτείτε ότι έχετε αφήσει μία κενή γραμμή κάτω από τη τελευταία στο "desc.txt"! Δυστυχώς δε γνωρίζω το λόγο.

Το μόνο που μένει είναι να συμπιέσουμε τους φακέλους και το αρχείο στο "bootanimation.zip". Κατά τη συμπίεση επιλέξτε το "Επίπεδο συμπίεσης: Αποθήκευση", αλλιώς δε θα δουλέψει, ενώ αν επιχειρείτε τη διαδικασία σε Windows υπολογιστή, ανοίξτε το zip και σβήστε από μέσα τα αρχεία "Thumb.db" που δημιουργήθηκαν.

Αυτό ήταν!

Αποθηκεύστε το "bootanimation.zip" στη διαδρομή "/system/media" της ROM σας και είσαστε έτοιμοι να το απολαύσετε στην επόμενη εκκίνηση!

13 στο: "Τι είναι το boot animation και πώς φτιάχνουμε το δικό μας;"
  1. Ευχαριστούμε για μια ακόμα φορά Χρήστο!!! Κι εγώ μια φορά παραπάνω γιατί ήμουν ένας από αυτούς που στο ζήτησαν. :P

    Νομίζω πως έφτασε πια η ώρα να βάλω μπροστά την δημιουργία της προσωπικής μου ROM... Ο Θεός μαζί μου! Χαχαχα!

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Είναι πιο ευχάριστο να ξέρεις ότι έστω και ένας άνθρωπος θέλει να μάθει για αυτό που γράφεις. Να 'σαι καλά.

      Άντε και καλή επιτυχία!

      Διαγραφή
    2. Ευχαριστώ!
      Και κάτι ακόμα... Αν συναντήσω κατά την κατασκευή ένα εμπόδιο και θέλω μια διευκρίνιση, μπορώ να επικοινωνήσω μαζί σου;
      Γιατί ομολογώ πως το updater-script και οι εντολές του με "τρόμαξαν" λιγάκι.

      Διαγραφή
    3. Παναγιώτη αν μπορώ να βοηθήσω, μετά χαράς.

      Διαγραφή
  2. και εγω νομιζα πως τωρα με το nexus 4 θα μας αφηνες στην μοιρα μας....!!
    η λαικη απαιτηση θελει να κανεις ενα review ακομα και για την παραμικρη βιδα του nexus....!!!

    ΑπάντησηΔιαγραφή
  3. Το κερασακι στην τουρτα της custom rom.
    Πολυ ωραιο αρθρο.Ειχαμε πηξει στους οδηγους εις την βαρβαρικην.

    ΑπάντησηΔιαγραφή
  4. Nice info!! Θα δοκιμάσω κάτι δικό μου κι εγώ ;)

    ΑπάντησηΔιαγραφή
  5. Πολύ καλό το άρθρο εύκολα κατανοητό. Ευχαριστούμε!

    ΑπάντησηΔιαγραφή
  6. Πραγματικα παααααρα πολυ καλο αρθρο...!! Συγχαρητηρια...!! Περιμενουμε κι ενα review του Ν4 και να μας πεις τις εντυπωσεις σου...!! :)

    ΑπάντησηΔιαγραφή
  7. Παιδιά έχετε πολύ καλούς οδηγούς μπράβο σας

    ΑπάντησηΔιαγραφή