Cómo cocinar nuestra propia ROM para Android: Construyendo el .zip flasheable

zip

En el anterior tutorial vimos qué hacía cada una de las opciones de nuestra cocina, posteriormente creamos un directorio de trabajo y desempaquetamos nuestra base para empezar las modificaciones, al final del tutorial incluí un vídeo donde he mostrado cómo añadir funciones a la base utilizando la cocina, por si a alguno no le había quedado del todo claro. En el tutorial de hoy veremos cómo empaquetar nuestra ROM y contruir el archivo .zip flasheable a través del recovery.

Todo este tutorial se reducirá la opción:

99. Build ROM from working folder

Dicha opción se compone de varios pasos:

1.- Alinear los paquetes para optimizar la RAM (zipalign).

2.- Convertir el archivo update-script a updater-script

3.- Construir el archivo update.zip

4.- Firmar el archivo .zip

5.- Renombrar el archivo resultante

Para que resulte más ilustrativo (y de paso aprender a hacer un screencast 😀 ) he recogido todo el proceso en vídeo, sin cortes:

 

Una vez finalizado ya tenemos nuestro archivo .zip, en mi caso lo he llamado Base.zip para distinguirlo del resto de versiones y saber que es la versión “sin manipular”. Ya podemos instalarla en el teléfono a través del recovery.

Pulsa aquí para ver el índice del tutorial
Etiquetado con: ,
64 Comentarios en “Cómo cocinar nuestra propia ROM para Android: Construyendo el .zip flasheable
  1. Jesus dice:

    Buenas tardes, excelente tu trabajo, desde anoche casi no he dormido siguiendo lo que has publicado. Ya logré llegar sin errores hasta la construcción, y estoy usando la rom para mi telefefono movistar motion de venezuela (zte v790). Ya construí el archivo y lo renombré a Base.zip, pero el asunto es que nunca le cambié el nombre. Es posible hacerlo todavía? o hay que crear la rom nuevamente? Y cómo hacemos para agregar y quitar aplicaciones? Una pregunta más: a tí te sale “modem.bin found: yes”, a mí me salía “radio.img” fond: no”… eso para qué sirve?

    NOTA: tuve problemas al intentar deodexar las aplicaciones. Me daba un error porque tenía configurada por defecto la API LEVEL 15, mientras que mi rom es android 2.3.6 que es API LEVEL 10. Cuando arreglé el API LEVEL, hizo el proceso sin problemas.

    Muchas gracias y saludos desde Venezuela.

  2. Joshelu dice:

    Hola Jesus!

    Antes de nada muchas gracias!, la parte de las aplicaciones es la que toca a continuación 😀

    Si te refieres al nombre de tu ROM, me temo que sí, tendrás que volver a construirla, pero no desde el principio. Abres la cocina, seleccionas la opción de cambiar nombre y por último vuelves a construir el .zip.

    En ZTE no sé cómo se organizan, pero por el nombre diría que es lo mismo. Es la parte del firmware encargado de las comunicaciones. Prueba lo siguiente:

    Abre la ROM de ZTE original con 7zip y busca el archivo radio.img. A continuación descomprímelo y mételo en el directorio de trabajo. Abre la cocina y vuelve a comprobar si ahora lo detecta.

    Cuando lo consigas escríbelo por aquí para que los demás podamos aprender 😉

    Saludos!

    PD: Exacto, hay que tener en cuenta ese detalle antes de deodexar 😉 bien visto

  3. Jesus dice:

    Gracias por responder. Te resumo como es la estructura del archivo que baje desde acá http://www.ztedevices.com/support/smart_phone/1dcea713-6bb4-46ef-8c16-3ca97a7fe4a9.html

    Descargué el archivo llamado P020121228590987177065.zip y dentro tenía un update.zip y las instrucciones para instalarlo vía recovery. Este archivo .zip fue el que usé como base para mi custom rom. Acabo de descomprimirlo y los únicos archivos .img que tiene son boot.img y splash.img. Será muy importante ese archivo radio.img? te dejo la captura para que veas como está todo.

    http://i.imgur.com/RsAOHep.png

  4. Joshelu dice:

    Me he descargado la ROM y tienes razón, no hay ningún fichero radio.img. Incluso he desempaquetado el kernel por si estaba ahí y nada… quizás la versión 2.3.6 de Android no lo incluía en su organización…

  5. Jesus dice:

    Bueno, gracias por tomarte el tiempo. Espero que no sea necesario el archivo. Estaré pendiente de tus próximas publicaciones. No te tardes jaja

  6. Joshelu dice:

    jajajaja 😀

    Aquí un adelanto, el título 😀 : Cómo cocinar nuestra propia ROM para Android: Quitar lo que sobra (“Litear”)

  7. Angel dice:

    Buenas !!!

    Estaba buscando tutoriales por la red y veo que empiezas fuerte y que estas primeras entregas son muy completas… ánimo! ya estoy esperando las siguientes.

    Saludos!

  8. Jesus dice:

    Bien, estaré esperando!

  9. Fran dice:

    Hola de nuevo 🙂 tengo un problema en la primera operación mientras esta con el proceso de Zipaligning al cabo de un rato me pone esto:
    Unable to open ‘./system/csc/CYO/system/app/Books.apk’ as zip archive
    Error: Unable to zipalign, aborting
    Cancelling build
    Press Enter to continue
    Sabrias decirme donde estoy fallando,saludos.

  10. Joshelu dice:

    Hola Fran, según el error, no puede abrir el archivo
    “/system/csc/CYO/system/app/Books.apk”
    Ve al directorio y comprueba si está bien, si no, elimínalo ya que se trata de la aplicación de libros de Google y la puedes conseguir en la Play Store sin problemas.

    Saludos!

  11. Sergio Suarique dice:

    ¿Es normal que este zip Me halla quedado exactamente igual al de la rom Base?

  12. Yesenia dice:

    Buenas noches, muy completo tu tutorial,mi problema es el siguiente voy por el paso de construir el zip flasheable y me sale el siguiente error:
    The application ‘clear’ is not installed – the kitchen
    will not function properly without it. Ensure you did
    not miss a step during installation! Refer to the
    Android Kitchen FAQ at xda-developers.com for further
    assistance.

    ** PLEASE READ THE FAQ BEFORE ASKING QUESTIONS!! **

    YES, THIS ERROR IS ALREADY COVERED IN THE FAQ. DO NOT
    WASTE YOUR TIME MESSAGING ME. JUST READ IT, PLEASE. 😉

    por otro lado,este procedimiento me sirve para construir una rom 2.1 para el del aero ? me urge, tengo mucho tiempo buscando como actualizarlo. ayuda por favor

  13. Yesenia dice:

    ya solucione lo del error de arriba. ahora le doy a la opcion 99 y me dice no working folder found. entiendo que no encuentra la carpeta de trabajo, pero como lo resuelvo ?

  14. Joshelu dice:

    @Yesenia, Te has saltado un tutorial…

  15. Victor dice:

    Buenas noches he llegado a este punto sin problema, pero me he atorado con eso de “Ya podemos instalarla en el teléfono a través del recovery.” Eso no se como hacerlo y no lo encontré para probar el base.zip.
    De antemano gracias por el tutorial, soy principiante y estoy ansioso por poderle meter mano al telefono.
    Saludos.

  16. Joshelu dice:

    @Victor, El recovery es uno de las 3 formas que tiene un terminal Android de arrancar. Se accede pulsando: “Vol +”, “inicio” y “power” con el teléfono apagado.

    Si no conoces la existencia de dichos modos y cómo se utilizan, quizás deberías considerar aparcar el proyecto de tu propia ROM por un tiempo y leer más sobre android, probar custom ROMs de otros cocineros…

    No lo digo para desanimarte, lo digo desde mi experiencia. De este modo cuando surja un problema puedas afrontarlo sin poner en riesgo el terminal.

    Saludos.

  17. Candido dice:

    hola Joshelu, e instalado todo lo que ponia en los tutoriales y al abrir la consola y meter los datos de Kitchen y luego donde hay que poner” ./menu” me da error, dice :Error: The application ‘clear’ is not installed – the kitchen
    will not function properly without it. Ensure you did
    not miss a step during installation! Refer to the
    Android Kitchen FAQ at xda-developers.com for further
    assistance.

    ** PLEASE READ THE FAQ BEFORE ASKING QUESTIONS!! **

    YES, THIS ERROR IS ALREADY COVERED IN THE FAQ. DO NOT
    WASTE YOUR TIME MESSAGING ME. JUST READ IT, PLEASE. 😉
    Que debo hacer?
    Gracias por todo

  18. Joshelu dice:

    @Candido, ya ha salido varias veces ese problema, revisa los comentarios…

  19. Candido dice:

    Hola, he revisado los comentarios y hay una referencia al problema que tengo, pero no veo la solucion.

  20. Jesus dice:

    He regresado, por trabajo tuve que parar la creación de mi propia ROM, pero ya la voy a continuar. Me gustaría saber si es posible instalar un android 4.x en un dispositivo que vino con el 2.3… Saludos

  21. Luis Jose dice:

    Hola joshelu! ante todo gracias por el esfuerzo justamente estaba buscando algo así para iniciarme en eso de la cocina en Android. MUCHAS GRACIAS. pero como tengo un pequeño problema hice todo el tuto a pie de letra para un galaxy ace plus s7500l pero cuando la voy a flashear me sale un error y no me permite ver mi trabajo, el mensaje de error es el siguiente:

    E:Error in /sdcard/base.zip
    {Status 0}
    Installation aborted.

  22. Joshelu dice:

    @Luis Jose, muchas gracias. ¿Tienes instalado un recovery modificado?

  23. Ejner Galaz dice:

    Excelente serie. Me he animado a crear una para mi Galaxy Fame, pero me he quedado trabado en la instalación de mi custom rom.

    Verás: cree mi rom (1.0b1) e intente instalarlo con el recovery de fábrica. Solo se quedo en “Install /sdcard…”, y regresa al recovery sin ninguna leyenda, como si recién se hubiese accedido. No hubo absolutamente ningún cambio. Luego, instale CWM6 (por si a alguien le interesa http://forum.xda-developers.com/showthread.php?t=2495467) y da el error que señala Luis Jose. Al encender el móvil, no veo cambio alguno, ni siquiera el “Número de compilación” ha cambiado (lo cambie por uno propio), así que derechamente ninguno de los dos recovery me funcionó

    Cree otra versión de mi rom (1.0b2), pero esta vez sin tocar técnicamente nada (elimine unas APK’s que eran inútiles, como SamsungApps.apk y otras) e intente primero con CWM6 y luego con el recovery de fábrica y nada. Mismo resultado que antes.

    ¿Tienes alguna idea de lo que sucede? El modelo exacto de mi móvil es Galaxy Fame GT-S6810L, y la ROM en la que me he basado en stock de movistar Chile. El otro problema es la ausencia de ROM’s para este móvil, ya que a pesar de tener casi un año desde su lanzamiento, pocos desarrolladores se han animado a jugar con él.

    Saludos y, nuevamente, excelente tutorial.

  24. Ejner Galaz dice:

    Hola de nuevo. Encontré la solución: resulta que mi dispositivo no es soportado “oficialmente”, de modo que el programa no incluye un archivo con las rutas para montar las particiones del móvil.

    Los pasos los pueden ver en el hilo oficial de XDA (http://forum.xda-developers.com/showpost.php?p=5626300&postcount=3) específicamente donde dice “How to add new devices that are not listed in the Supported Devices in Page 1?”. En mi caso, el archivo boot.img no contenía el archivo, y no encontraba recovery.img en la carpeta de trabajo. Pero resulta que recovery.img estaba en el .TAR, lo copie, segui los pasos y di con el archivo en cuestión.

    Esa es una solución al error 0 (en caso de que ya hayan comprobado que la ROM este en Edefy)

  25. Joshelu dice:

    @Ejner Galaz, ¡enhorabuena! me alegra que hayas podido solucionar el problema 😀 , y lo que es aún mejor, que hayas compartido con nosotros la solución. Muchas gracias!

  26. Sergio A. dice:

    Hola me aparece el siguiente error:

    Zipaligning ./system/app/CHS_J_Device_only.apk …
    Unable to open ‘./system/app/CHS_J_Device_only.apk’ as zip archive
    Error: Unable to zipalign, aborting

    me aparecio tambien con chaton y lo elimine, pero esta app no se si afecte el funcionamiento.
    Saludos.

  27. Joshelu dice:

    @Sergio A., quizás no se haya descargado correctamente, prueba a descargarla de nuevo. Para no tirar todo el trabajo a la basura, realiza el proceso en otra cocina y cuando tengas los apks deodexados copias el que falla y lo pegas en la cocina vieja, a ver si así…

    Saludos!

  28. Ignacio dice:

    Buenas y ante todo muchas gracias por compartir tus conocimientos Joshelu.

    Te cuento, a mi como a Luis José me da el mismo error y en mi caso tengo instalado el ClockWordMod-Recovery.

    Que debo hacer para solventar este error?

    Gracias.

  29. Luis Raigosa dice:

    Hola, hice mi rom pero a la hora de instalarla me dice que la instalación fue abortada, me puedes ayudar?

  30. Joshelu dice:

    @Luis Raigosa e @Ignacio, ¿habéis firmado la ROM?¿dió algún error durante el proceso?

  31. Ignacio dice:

    En mi caso,por supuesto que si, despues del zipalign y updater-script

    Gracias.

  32. Ignacio dice:

    En mi caso,por supuesto que si, despues del zipalign y updater-script y en todos los procesos ningun error

    Gracias.

  33. Luis Raigosa dice:

    Igual yo hice todo y no me dio ningún error, sólo al instalarla.

  34. manu dice:

    hola me da error al marcar 99 para compilar la room
    Both update-script and updater-script are detected in working folder.
    Keep only one of them before building!

  35. Joshelu dice:

    @Manu, borra el archivo “update-script” o el “updater-script”. Se queja de que tienes los dos cuando sólo debes tener 1.

  36. JoseKass dice:

    Bueno una pregunta algo importante.

    Alguna forma de poder instalar la ROM via Odin?
    de tranformar el formato .zip a el formato que admita odin. y asi flashearlo por esa via

  37. Joshelu dice:

    @JoseKass, sinceramente no tengo ni idea de cómo se hace… aunque soy todo oídos si descubres cómo 😉

  38. Daniel dice:

    Me gustaria saber como puedo volver a odexar una rom despues de haber modificado sus apk’s que preveiamente para ello deodexe

  39. Joshelu dice:

    @Daniel, no se si la cocina permite hacer eso, sin embargo, no te preocupes, no vas a notar diferencia alguna por tener la ROM deodexada. Saludos

  40. tambe dice:

    Hola, gracias por compartir tu trabajo, muy bueno por cierto, yo he intentado dos veces lo ke es todo el tuto hasta éste punto y he intentado probar a instalarlas y me dan error y cancela la instalación, he seguido todos los pasos y no me ha dado ningún error en todo el proceso,lo único ke no he hecho es cambiarle el nombre al final, pero eso no debería de ser un problema no? y si le cambo a update.zip colará? no se puede flashear con odin? si es afirmativo, debería convertirla a .md5?

    Un saludo.

    SG Express GT-i8730 v.4.1.2 JB

  41. Joshelu dice:

    @Tambe, Tienes algún recovery modificado?

  42. Franco GImenez dice:

    HOla!

    Estoy intentando hacer mi rom para mi S5360L. He llegado a cocinarla pero al momento de flashearla me da error (STATUS 2) desde el recovery y assert en el write_raw_image(“/tmp/boot.img”, “boot”) Status 7 desde el cwm.

    Tenés idea de donde puede venir el error?

    PD: Para conseguir los archivos para el paso numero 1 (para la base) tuve que extraerlos desde un backup que hice con el cwm. Si tenes alguna información que me pueda ayudar te lo agradecería ya que hay muchas roms para este telefono pero ninguna explicación de como hacerlas.

  43. tambe dice:

    Hola, es la segunda vez ke respondo, Si, está roteado y con CWM 6.xx

  44. tambe dice:

    Vaya ahora aparecieron las dos, ya lo siento, como no la veía volví a responder.

  45. Joshelu dice:

    @Franco, a mí normalmente cuando me tira un status 7 es por problemas con el recovery… instala la última versión a ver si lo soluciona.

    @Tambe, Como te he comentado por twitter, no he encontrado una causa por la que devuelva ese error…

  46. tambe dice:

    Pero a mi no me sale status 7 sino status 0 y el CWM lo tengo actualizado a 6.xx

  47. tambe dice:

    Hola, kiero empezar de nuevo pero no puedo borrar la kitchen me pueden decir como se kita? gracias.

  48. Solid dice:

    Saludos.
    Amigo Joshelu, despues de agradecerte este tutorial que me ha sido de mucha utilidad para optimizar firmware mtk6589, ahora te molesto con una solicitud.

    Ya adquiri movil octa core y todo el procedimiento funcione bien, excepto deodexar las aplicaciones. Siempre sale un codigo de error.

    Te ruego que si tu tienes la solucion para realizar el proceso de deodexar octa core, seas tan amable de indicarme como se hace o, en su caso, por favor proporciona el enlace y yo continuare con lo demas.

    Gracias por anticipado.
    Solid

  49. Daniel dice:

    Hola Disculpa al intentar abrir la cocina me dice que hace falta la libreria unzip, y no se como instalarla me podrias ayudar con eso, cual comando deberia usar o es necesario reinstalar el programa de nuevo

1 Pings/Trackbacks para "Cómo cocinar nuestra propia ROM para Android: Construyendo el .zip flasheable"
  1. Información Bitacoras.com…

    Valora en Bitacoras.com: En el anterior tutorial vimos qué hacía cada una de las opciones de nuestra cocina, posteriormente creamos un directorio de trabajo y desempaquetamos nuestra base para empezar las modificaciones, al final del tutorial inclu……

Deja un comentario

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

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.