Android : Animation démarrage
2023-07-27
Lors du démarrage d'un appareil sous Android, une animation est affichée à l'écran. Il est possible de la modifier sur un appareil avec les accès root.
Service
L'animation est appelée comme service init via `/system/etc/init/bootanim.rc`.
service bootanim /system/bin/bootanimation
class core animation
user graphics
group graphics audio
disabled
oneshot
writepid /dev/stune/top-app/tasks
Celui-ci cherchera les fichiers d'animation dans les répertoires suivant dans l'ordre indiqué :
- /product/media/bootanimation.zip ;
- /oem/media/bootanimation.zip ;
- /system/media/bootanimation.zip.
Archive
Une animation est divisée en deux parties, dont le fichier de description `desc.txt`. Celui-ci est composé de :
- une entête au format `largeur hauteur fps` ;
- un corps constitué d'une répétition de lignes au format `type répétitions postFrames répertoire`.
Le type peut prendre la valeur `p` ou `c` selon si l'animation peut être interrompue par la fin du processus de démarrage, le nombre de répétitions peut être fixé à 0 pour une boucle infinie. Plutôt qu'un fichier unique, on indique un répertoire ce qui permet de diviser l'animation en plusieurs étapes.
Chaque répertoire est un ensemble d'images au format PNG, triée par ordre alphanumérique.
À noter que l'archive est compressé via méthode `STORE`, sans compression.