Como poner vídeos MP4 como animación de inicio en tu dispositivo Android 4.4.x [Root]


custombootkitkat

Hace poco me llegó una tablet china, la Teclast P90HD, una hermosura de tablet con una resolución de 2560x1600 píxeles y procesador Rockchip RK3288. No es una maravilla, pero la resolución a 320DPI es estupenda.

Sin embargo el dispositivo no estaba rooteado y buscando por ahí encontré varios mods, lo que no me gustó de estos mods eran sus animaciones de arranque, no eran de mi agrado, así que leyendo en el foro XDA pude encontrar la forma de inclusive reemplazarlos con vídeos en formato MP4.

Las animaciones incluidas en estos mods consistían de una serie de imágenes comprimidas dentro del archivo bootanimation.zip ubicada en /system/media, ocupando mucho espacio según el tamaño y cantidad de imágenes para obtener una animación adecuada (fotogramas por segundo).

Definitivamente la ventaja de utilizar vídeos en formato .MP4, es poder ahorrar espacio debido al tipo de compresión que por mucho es mejor comparado a secuencias de imágenes.

Por ejemplo, me hice una animación en formato MP4 que se reproducirá mientras carga Android.

Hice esta animación personalizada, no es cosa de otro mundo pero es de mi agrado (personalizado).

El resultado es el siguiente:

Lo pueden descargar aquí —> https://www.dropbox.com/s/9qc86unb9s0noky/bootanimation.zip?dl=0

Requisitos:

1. Dispositivo Android rooteado

2. Versión 4.4.x de Android

 

Archivos necesarios:

— Ejecutable binario bootanimation modificado, es el encargado de reproducir el vídeo al momento de arrancar nuestro dispositivo

Descargar: http://www13.zippyshare.com/v/26992022/file.html ó http://www.mediafire.com/download/mx8g6zfukfb6fql/bootanimation ó https://www.dropbox.com/s/0t7lpyrsfys5t1o/bootanimation?dl=0

— ADB – platform tools.

Descargar: Windows https://www.dropbox.com/s/l59yex4jdgtgyd3/platform-tools.rar?dl=0 , en Linux u OSX la forma de instalar ADB es distinta

Procedimientos:

— Debemos reemplazar el ejecutable /system/bin/bootanimation que viene por defecto con el que descargaron de cualquiera de las direcciones antes mencionados.

— Modificar los permisos del ejecutable a 775 (octal), es decir (rwx-rx-rx) para que pueda ser ejecutado por el sistema operativo

 

Iniciemos

Una forma sencilla de realizar esta operación es a través de nuestro computador conectado a nuestro dispositivo con modo de depuración activado (con los controladores correctamente instalados), esto nos ahorrará mucho tiempo al momento de transferir nuestros archivos.

Una vez conectado el dispositivo a nuestra computadora, nos aseguramos que éste acceda correctamente con ADB. Si a pesar de tener correctamente instalado los controladores de nuestro dispositivo (Windows), ADB no lo lista, es necesario modificar el archivo adb_usb.ini ubicado en nuestra carpeta personal.

Descomprimimos ADB (platform-tools) en una carpeta según nos convenga, la disposición que utilizaré es la siguiente:

adbkitkat

En esa carpeta descomprimí platform-tools en una carpeta propia dentro de nuestra carpeta donde trabajaremos, para no abultar de muchos archivos en esta carpeta. Como pueden observar, ya tengo ahí los archivos necesarios para personalizar la animación de arranque (el ejecutable bootanimation, el vídeo personalizado, el archivo de descripción videodesc.txt).

Aparte cree un archivo de comandos cli.cmd que es en realidad un archivo de texto cambiado a extensión .cmd. Sólo contiene el siguiente texto:

@PATH=%PATH%;platform-tools;
cmd.exe

Al hacer doble clic en ese archivo accederemos a la línea de comandos de Windows (cmd.exe) apuntando a nuestra carpeta de trabajo con acceso al contenido de la carpeta platform-tools para así poder ejecutar adb.exe desde cualquier carpeta dentro de la línea de comandos.

Ahora ejecutamos adb get-state para ver si ya está ejecutándose el servidor ADB (Android Debug Bridge), de lo contrario éste iniciará listando los dispositivos conectados (reconocidos).

Luego escribimos adb devices para listar detalles de los dispositivos conectados:

adb_devicesSi por algún motivo no se listara el dispositivo como mencioné antes, es necesario agregar el ID del fabricante en el archivo adb_usb.ini que normalmente estará dentro de la carpeta .android ubicada en nuestra carpeta personal.

En el explorador escriba %UserProfile%\.android y presione enter para acceder, ahí podrá encontrar dicho archivo, ábralo y agregue el id del fabricante de su dispositivo:

adb_usb

Para averiguar el ID del dispositivo, basta con ver las propiedades del dispositvo en el administrador de dispositivos (para acceder directamente, presiones Win+R, escriba devmgmt.msc y presione Enter).

adbid

Si se fijan, en la pestaña Detalles de las propiedades de mi dispositivo Android, seleccionando Hardware en la lista desplegable, nos muestra el ID del fabricante (Vendor ID), la cual la agregué al archivo adb_usb.ini prefijando con 0x puesto que es un valor hexadecimal.

De vuelta en nuestra línea de comandos, escribimos adb kill-server seguido de ello volvemos a listar con adb devices (esto volverá a iniciar el servidor ADB para completar ese comando).

adbdevicess

Todos los pasos anteriores normalmente se realizan una vez para luego continuar con nuestro objetivo inicial, modificar nuestra animación de arranque Android.

 

Primer paso: Copia de seguridad.

Como estamos ubicados dentro de la carpeta que contiene el archivo bootanimation que hemos descargado, es hora de reemplazarlo, pero lo preferible es hacer una copia de seguridad pues no sabemos si efectivamente el ejecutable que reemplace funcione, para ello accedemos mediante shell

adb shell

adb-shell

Si ven el texto root@ precediento a la nueva línea de texto de entrada, quiere decir que nuestro dispositivo está rooteado de lo contrario pare aquí, y busque la forma de que su dispositivo sí tenga los permisos necesarios para continuar (root).

Continuando…

Escribimos cd /system/bin luego ls bootanimation –l y podremos ver los detalles de este ejecutable antes de reemplazarlo

lsbootanimation

Como se pueden fijar, ya existe ese archivo ocupando 25952 bytes, el archivo que reemplazará pesa menos (25872 bytes).

Procedamos a cambiar de nombre el existente.

Escribimos mv bootanimation bootanimati esto moverá (cambiará de nombre) del ejecutable,

si por alguna razón muestra error de archivo de sólo lectura (read only), pruebe precediendo su antes del comando, otra manera es saliendo (presiona ctrl-c) y ejecutamos adb remount para corregir ese problema, y volvemos a acceder al shell para intentar nuevamente, si eso tampoco funciona, pruebe a desconectar y volver a conectar el dispositivo, de lo contrario no sabría cual es el problema.

Ahora que tenemos cambiado de nombre (verificar usando el comando ls bootanimati –l que deberá listarlo con ese nuevo nombre).

bootanimati

Salimos del shell ya sea presionando Ctrl-C o escribiendo el comando Exit

 

Segundo paso: copiar bootanimation a la carpeta /system/bin

De vuelta en la línea de comandos fuera del shell subimos al dispositivo el archivo bootanimation que habíamos descargado, para lo cual escribimos: adb push bootanimation /system/bin

subirbootanimation

Nota: si no permite por error de sólo lectura (read only), pruebe con adb remount y vuelva a intentarlo, si todo va bien debería mostrar un mensaje similar como la mostrada en la imagen anterior.

Tercer paso: cambiar los permisos de ejecución del nuevo bootanimation

Accedemos otra vez a nuestro dispositivo utilizando el shell (adb shell), accedemos a la carpeta BIN (cd /system/bin) y listamos los dos archivos con ls bootanima* -l

lsboth

Como pueden observar, están ambos archivos binarios, el nuevo pesa menos que el anterior, note además que los permisos de ejecución (-x) no están permitidos para el nuevo bootanimation (-rw-rw-rw-) para ello cambiamos con el comando chmod 755 bootanimation

chmodbootanimation

Hecho eso, listamos otra vez y veremos que los permisos de ejecución fueron aplicados a bootanimation.

Terminamos con lo más importante, la próxima vez que iniciemos nuestro dispositivo este nuevo ejecutable (binario) permitirá que se reproduzca el vídeo que deseemos.

 

PREPARANDO NUESTRO VÍDEO

Nuestro vídeo deberá estar ubicado dentro del archivo comprimido bootanimation.zip junto con un archivo de texto denominado videodesc.txt nombrando a nuestro vídeo de cualquier forma pero con prefijo 01_ ej. 01_codigobit.mp4.

Editamos (creamos) videodesc.txt y escribimos  0 1 para luego guardarlo, sólo son necesarios esos dos dígitos separados por un espacio.

Seleccionamos ambos archivos (01_codigobit.mp4 y videodesc.txt) para comprimirlos, en mi caso utilizaré WinRAR utilizando el modo de compresión Store ya que con los demás métodos de compresión no reproducía el vídeo.

comprimirboot

storebootanimation

Ahora que tenemos el archivo  bootanimation.zip es tiempo de copiarlo a la carpeta /system/media de nuestro dispositivo.

Al igual que hicimos anteriormente para subir bootanimation, de forma similar procedemos, pueden hacer también una copia de seguridad del archivo bootanimation.zip existente (dentro del shell ejecutar mv /system/media/bootanimation.zip /system/media/bootanimati.zip).

Fuera del shell ejecutamos adb push bootanimation.zip /system/media

subiranimation

Necesitamos cambiar los permisos de este archivo a 644 de forma similar como hicimos para el ejecutable.

Accedemos al  shell con el comando adb shell y luego accedemos a la carpeta media  con el comando cd /system/media para finalmente cambiar de permisos con el comando chmod 644 bootanimation.zip

chmodanimation

Ya hemos cambiado los permisos de bootanimation.zip salimos del shell y ya podemos probar nuestra nueva animación de arranque reiniciando el dispositivo.

 

Conclusión

La posibilidad de personalizar la animación de inicio de Android 4.4.x gracias a este ejecutable, ofrece la libertad de elegir a nuestro gusto la animación de inicio (vídeo) que más nos agrade, dándonos la satisfacción de tener un dispositivo que nos identifique. Incluso se disfruta el poder mirar el vídeo mientras arranca Android, paliando la sensación de lentitud de arranque de nuestro dispositivo.

 

Fuente: http://forum.xda-developers.com/general/xda-university/guide-set-video-bootanimationtesters-t2915445