Cómo crear un bootanimation HTC Desire

De HTCMania Wiki

Este artículo está en construcción.

Por esta razón, seguramente habrá lagunas en el contenido o en el formato. Por favor, antes de cambiar el contenido, consulta la página de discusión del artículo.

Razón: Artículo en construcción y pendiente de testeo para verificar que funciona correctamente



Un bootanimation es la imagen en movimiento que vemos tras el primer splash, en nuestro caso en las Desire's libres aparece una imagen del logo "HTC" y abajo se va escribiendo "quietly brilliant" como parte de la animación.

Este por ejemplo, es el bootanimation del Nexus con calidad reducida:

banexus.gif

NOTA: Esta explicación sirve como genérica para cualquier terminal con Android, pero puede necesitar ciertos retoques, como la ruta donde debe guardarse el bootanimation.zip, la resolución, la forma de cambiar el bootanimation ...


Contenido

Requisitos

Cómo funciona un bootanimation

Los bootanimation se guardan en la ruta /data/local/bootanimation.zip, aunque tiene extensión de archivo comprimido, este debe estar sin compresión para que funcione correctamente.


Estructura del Boot Animation

Dentro del bootanimation.zip se encuentra una estructura de archivos similar a esta:

desc.txt
part0
   00001.png
   00002.png
   00003.png
   00004.png
   00005.png
   00006.png
   00007.png
   00008.png
   00009.png
   00010.png
part1
   00011.png
   00012.png
   00013.png
   00014.png
   00015.png
   00016.png
   00017.png
   00018.png
   00019.png
   00020.png


Definición del funcionamiento

El modo en que se muestren la animación se indica en el archivo desc.txt, este contendrá algo similar a:

480 800 30
p 1 0 part0
p 0 0 part1


Significado de cada valor

  • Línea 1:
    • 480: es el ancho de la pantalla
    • 800: es la altura de la pantalla
    • 30: los FPS (imágenes por segundo) que queramos para la animación
  • Línea 2:
    • p: define una parte de la animación
    • 1: cuantas veces debe repetirse la animación de esta parte
    • 0: define una pausa (valor máximo 10)
    • part0: es el nombre de la carpeta donde se encuentran las imágenes de la primera animación
  • Línea 3:
    • p: define otra parte de la animación
    • 0: cuantas veces debe repetirse la animación de esta parte (0 significa indefinidamente hasta que se cargue Android)
    • 0: define una pausa
    • part1: es el nombre de la carpeta donde se encuentran las imágenes de la segunda animación
  • Si quisiéramos más sub-animaciones en principio se podría, no he encontrado información al respecto, pero debería bastar con añadir una tercera/quarta/... carpeta y aplicar el mismo funcionamiento que el descrito anteriormente.


Las imágenes de la animación

Las imágenes deben estar nombradas de la siguiente forma 00001.png, 00002.png, ... respetando el nombre con el orden que deben mostrarse. Además la numeración debe ser correlativa aunque se cambie de carpeta, tal y como se puede ver en Cómo crear un bootanimation HTC Desire#Estructura del Boot Animation.

La resolución de las imágenes deberá coincidir con la especificada en el archivo desc.txt

Otra cosa a tener en cuenta es la cantidad de imágenes que serán necesarias. Estas variaran en función de los FPS que queramos, que a la vez repercutirá en la fluidez de la animación y en cantidad de imágenes totales así como en peso total. Como ejemplo, una animación de 3 segundos a 30FPS necesitará 90 imágenes.


Cómo hacer una imagen animada

Puede haber varios modos de hacerlo:

Utilizando un vídeo.

  • Con el Camtasia Studio (Versión de prueba aquí) se puede capturar un vídeo desde la pantalla o trabajar con un archivo de vídeo. Y podemos hacer que nos transforme ese archivo a un GIF animado.
  • Descargamos el GifSplitter, este programa lo que hace es separarnos el GIF animado en diferentes imágenes JPG.
  • Con el ACDSee. Es una herramienta de pago, pero no conozco otra herramienta gratuita. Con este programa podemos transformar todos los JPG en PNG con un par de clicks. Y si fuese necesario rotar todas los PNG. Con ACDSee podemos re-dimensionar los PNG a la resolución de nuestras pantallas.

Cómo crear el bootanimation.zip

Si hemos creado la estructura indicada en Cómo crear un bootanimation HTC Desire#Estructura del Boot Animation, bastará con entrar en la carpeta donde tenemos el bootanimation, seleccionar todos los elementos y comprimir de la siguiente manera:

Imagen:Comprimir-bootanimation.png


Instalación del bootanimation.zip

NOTA: Se han descubierto las siguientes rutas para poner el bootanimation.zip, en función de la ROM será necesaria probar con una o con otra si la forma genérica de abajo no funciona correctamente:

  • Bootanimation genérico, utilizado principalmente en ROMs cocinadas y Android 2.1: /data/local/bootanimation.zip
  • Bootanimation genérico, utilizado desde Android 2.2: /system/customize/resource/bootanimation.zip
  • Bootanimation predefinido para operadoras: /system/etc/customer/bootanimation.zip

Si utilizando estas rutas para el bootanimation.zip sigue sin cargar el correcto, se puede utilizar el ddms que hay dentro de las Android-SDK para hacer un seguimiento de todo lo que hace desde que se enciende el terminal hasta que aparece la pantalla de PIN, en dicha ventana saldra

Ejemplo de como debería verse en DDMS

  • Método 1: A través de ADB (puede que requiera hacerlo estando en el Recovery), también es necesario tener el "bootanimation.zip" en la misma carpeta desde donde se ejecuta "adb.exe" (para windows, similar para el resto de sistemas operativos):

Para Android 2.1 y muchas ROMs cocinadas:

adb remount
adb push bootanimation.zip /data/local/bootanimation.zip
adb shell reboot

Para Android 2.2:

adb remount
adb push bootanimation.zip /system/customize/resource/bootanimation.zip
adb shell reboot
  • Método 2: Creando un update.zip flasheable (tutorial completo) como si fuera una ROM que contenga:

Para Android 2.1 y muchas ROMs cocinadas:

/META-INF/com/google/android/update-script
/data/local/bootanimation.zip

Para Android 2.2:

/META-INF/com/google/android/update-script
/system/customize/resource/bootanimation.zip
  • Donde el archivo update-script contendrá el siguiente texto, para que sepa que hacer al flashear:

Para Android 2.1 y muchas ROMs cocinadas:

show_progress 0.1 0
copy_dir PACKAGE:data DATA:
show_progress 0.1 10

Para Android 2.2:

show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
  • Y lo añadimos todo en el update.zip:
Para Windows: Como hemos visto antes en Cómo crear un bootanimation HTC Desire#C.C3.B3mo_crear_el_bootanimation.zip pero con los archivos indicados ahora.
Para Linux/Mac: zip -r update_bootanimation_NOMBRE.zip META-INF data
  • Y firmamos el update.zip, este es un requisito indispensable (salvo si usamos clockworkmod):
java -jar signapk.jar testkey.x509.pem testkey.pk8 update_bootanimation_NOMBRE.zip update_bootanimation_NOMBRE_signed.zip


Fuentes:

Donar.gif
Si el tutorial te ha sido útil, considera hacer una donación al autor
Herramientas personales