Cocina tu propia ROMTutoriales

Cómo cocinar nuestra propia ROM para Android: Modificar la apariencia

apariencia

Ya conocemos bastantes datos sobre la elaboración de una custom ROM, sin embargo, hay un aspecto importante que aún no hemos tocado, la apariencia. Quizás sea la parte más dura de todo el proceso, ya que requiere mucho tiempo para obtener un resultado de calidad. En este tutorial veremos cómo modificar una imagen dentro de un paquete APK sin alterar la firma del mismo y sin entrar en la programación. De esta manera podremos personalizar todas las APKs, tanto de sistema como de aplicaciones para conseguir, por ejemplo, la cortina de notificaciones transparente o con una fotografía de fondo, modificar el icono de la batería,…

Antes de continuar, me gustaría advertiros de que hay que tener cuidado de qué aspectos modificamos ya que nuestro terminal puede dañarse irreparablemente, por este motivo no me hago responsable del daño que pueda sufrir algún dispositivo por seguir este tutorial. Advertidos estáis.

Para entender bien lo básico diremos que un paquete APK no es más que un archivo comprimido en formato ZIP, la diferencia es que estos archivos están firmados para garantizar que el código del mismo no ha sido alterado, sin embargo, sí podemos modificar las imágenes.

Dada la cantidad de imágenes que puede existir en un APK, por ejemplo en systemUI.apk o framework-res.apk (son los paquetes que contienen todas las imágenes de la interfaz), si no sabéis qué imagen retocar podéis abrir el paquete con 7zip y descomprimirlo. De este modo podremos navegar cómodamente por todas las carpetas y ver, gracias a la vista previa, muchas al mismo tiempo. Los recursos gráficos se encuentran dentro de la carpeta “res”.

Gracias a la previsualización podremos localizar rápidamente una imagen

Los recursos gráficos se encuentran dentro de la carpeta “res”

Los paquetes que mencioné antes se encuentran en:

  • system/app/SystemUI.apk
  • system/framework/framework-res.apk

Como comenté antes, estos dos paquetes contienen todas las imágenes relacionadas con la interfaz, así que hay que manejarlos con cuidado ya que un error puede hacer que nuestro smartphone no arranque o falle constantemente, así que antes de modificarlos hay que hacer una copia de seguridad de los paquetes que modifiquemos y tenerlos a mano para restaurarlos en cualquier momento.

A partir de ahora trabajaremos siempre en la carpeta donde hemos descomprimido del paquete APK, de este modo mantendremos los archivos organizados igual que en el paquete original, esto nos ayudará más adelante. Ahora sólo tenemos que abrir la imagen que queremos modificar con nuestro software de retoque favorito, como por ejemplo Photoshop o GIMP, y modificarla.

Me gustaría haceros un pequeño apunte, si os fijáis veréis que hay carpetas del tipo “drawable-xhdpi” o “drawable-sw360dp-xhdpi”, donde muchas veces encontramos la “misma” imagen en ambas. La diferencia está en el tamaño, de este modo, si la pantalla es de alta resolución cogerá la imagen más grande, mientras que si es de baja resolución, cogerá la más pequeña. Al principio no quedará más remedio que ir probando hasta que demos con las que usa nuestro dispositivo.

He modificado algunas imágenes al azar

He modificado algunas imágenes al azar

En mi caso y a modo de ejemplo, sólo me he limitado a modificar el color, pero podéis modificarlas por completo. La única limitación es el tamaño, si una imagen mide 35×10 píxeles debe medir 35×10 píxeles. Si queréis que el icono sea más pequeño podéis encogerlo y rellenar con píxeles transparentes.

Ahora que ya tenemos las modificaciones hechas sólo queda insertarlas en el paquete APK original. Sin embargo, antes tenemos que tener en cuenta un pequeño detalle, comprimirlas. No sé por qué sucede esto, pero al meterlas directamente me fallaba, sin embargo, si las comprimía y luego las metía funcionaba correctamente. Así que cogemos la carpeta de trabajo (la que obtuvimos al descomprimir el APK y que contiene todas las imágenes modificadas) y la comprimimos en .zip.

Seleccionamos todo, botón secundario encima de la selección -> 7Zip -> Añadir a XXXX.zip

Seleccionamos todo, botón secundario encima de la selección -> 7Zip -> Añadir a XXXX.zip

Por último, abrimos con 7zip el paquete APK y el archivo ZIP que acabamos de crear y arrastramos desde el archivo comprimido  las imágenes modificadas. MUY importante no añadir nada extra, sólo sobreescribir, de este modo no se corromperá el APK. Así que antes de hacer la operación revisad todas las carpetas por si hay algún archivo temporal o del sistema.

Para evitar problemas, al menos hasta que cojáis soltura es actualizar el APK a medida que vais modificando archivos, es decir, imagen a imagen. De modo que el procedimiento sería:

  1. Descomprimir apk
  2. Modificar imagen
  3. Comprimir
  4. Abrir el zip y navegar hasta donde esté el archivo modificado, lo mismo con el apk original
  5. Por último arrastrar desde el zip al apk para sobrescribir el original.
Arrastramos el archivo modificado desde el .zip al .apk

Arrastramos el archivo modificado desde el .zip al .apk

Ahora sería oportuno comprobar que todo ha salido bien, de modo que nuestro smartphone (con vuestra ROM instalada) será el campo de pruebas, al menos es el método que yo utilizo porque es más rápido que flashear una ROM completa con cada cambio. Para hacerlo es conveniente que tengáis un recovery modificado que incluya un gestor de archivos, para poder sustituir los paquetes desde éste sin tener que arrancar el móvil. Yo uso un recovery compatible con AROMA FileManager.

Conectando el teléfono al usb del ordenador, copiamos el apk modificado y ya desde el móvil con AROMA Filemanager guardamos una copia del apk original, sustituimos y reiniciamos. Si todo salió bien, veremos la modificación, si no, es posible que falle el arranque o simplemente que no se vea la imagen. De modo que entramos en el recovery de nuevo y restauramos la copia.

Pulsa aquí para ver el índice del tutorial
Etiquetado con: ,
Publicado en: Android, Tutoriales
7 comentarios sobre “Cómo cocinar nuestra propia ROM para Android: Modificar la apariencia
  1. torruda dice:

    como puedo canviar borrar o añadir idiomas a la rom?? como se puede importar ajustes de otras roms??
    Muchas gracias

  2. hellmx dice:

    hola, podrias ayudarme ?, en mi telefono no puedo usar la aplicacion pie control por q me dice q no tiene permisos, con esta aplicacion q publicas crees q sea posible darle esos permisos ?, gracias.

  3. Joshelu dice:

    Eso tendrás que consultarlo en los foros de pie control…

  4. Pablo Alvarez dice:

    Buenos días Joshelu:
    Antes que nada, enhorabuena por este tremendo tutorial. Tenía un par de preguntas que hacerte y no sabía muy bien donde colocarlas así que lo hice al final del tutorial. La primera, al alinear (creo que se llamaba zipalign) un .apk me da error (el SKMS Agent UserKey), lo saque del directorio y no me volvio a dar el problema. ¿Pasará algo cuando instale mi ROM?

    Y la segunda, una vez aplicados los cambios de apks, apariencia, build.prop y de feature, ¿como los aplico en la base.zip que creamos antes para que queden dentro de la ROM?

    ¡¡Muchas gracias de antemano!!

  5. Joshelu dice:

    Hola Pablo! me alegra que te haya gustado 😀 .
    1.- Depende del apk. Si es de alguna app no pasará nada, solo que tendrás que instalarla a mano. Si es de sistema, habrá alguna parte del sistema que no funcionará.
    2.- Una vez que ya tienes todos los cambios aplicados sobre los archivos dentro del directorio de trabajo. Abres la cocina y vuelves a construir el zip (como hicimos en el tutorial de “construir zip flasheable”). Tras acabar el proceso tendrás tu ROM cocinada y lista para ser instalada o distribuida.

    Saludos!

  6. eduardo dice:

    Hola… muy buena entrada. Una pregunta: ¿cómo identifico el archivo correspondiente a la barra de estado?

  7. eduardo dice:

    PD: lo que deseo es quitar las transparencia a la barra de notificaciones

1 Pings/Trackbacks para "Cómo cocinar nuestra propia ROM para Android: Modificar la apariencia"
  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Ya conocemos bastantes datos sobre la elaboración de una custom ROM, sin embargo, hay un aspecto importante que aún no hemos tocado, la apariencia. Quizás sea la parte más dura de todo el proceso, ya que requiere mucho ti……

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Sígueme en Twitter