A pesar de buscar por la red, pocas veces he encontrado un tutorial que explique de una manera sencilla los pasos a seguir para crear una ROM personalizada para Android. Por este motivo me he dispuesto a crear uno que explique paso a paso cómo armarla y cómo modificar los aspectos básicos y avanzados. Antes de ponernos a «cocinar» lo primero que debemos hacer es instalar todo el software necesario. En esta primera entrega instalaremos el kit de desarrollo de Java y Cgywin, una herramienta que nos proporcionará una interfaz similar a la de Linux.
JDK
Vamos a la página web de Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Pulsamos sobre el icono «Java Platform (JDK) 7u21«. En mi caso se trata de la versión 7 update 21, porque es la última disponible, pero puede que cuando leáis esto exista otra versión más reciente.

Java Platform (JDK) 7u21
Iremos a una página en la que nos pide que aceptemos los términos y condiciones. Una vez aceptados se activarán los enlaces de descarga para todas las plataformas. En mi caso descargaré la versión para Windows x64.

Aceptamos términos y condiciones y pulsamos sobre el nombre de nuestro sistema operativo
Una vez descargado el ejecutable lo instalamos como cualquier otra aplicación y ya habremos acabado con Java.
Cygwin
Cygwin es un entorno similar a Linux para Windows. Gracias a él podremos utilizar herramientas hechas para linux en windows, concretamente la cocina y las herramientas para descompilar las APKs.
Al igual que con Java, lo primero es descargarla de su web oficial:
http://cygwin.com/install.html
Y pulsamos sobre setup.exe

Descargar Cygwin
Una vez descargado iniciamos el instalador, pero esta vez hay que ir con cuidado, pongo capturas de cada paso para que no nos perdamos.

Pulsamos el botón «Siguiente»

Dejamos como está y «Siguiente»

Dejamos como está y pulsamos «Siguiente»

Directorio donde descargar los archivos temporales

Configuramos el proxy, en caso de tenerlo, en mi caso es directo

Elegimos el mirror que más nos llame la atención 😀
Ahora llega la parte importante, la selección de paquetes a instalar. Si tienes espacio de sobra puedes seleccionar todo y seguir, pero ocupará unos 10 GB de espacio… así que instalaremos lo justo y necesario:
- Archive:
- unzip
- zip
- Devel:
- gcc
- gdb
- Editors:
- nano
- Interpreters:
- Perl
- Python
- Util:
- cpio
- util-linux
- ncurses
- Web:
- wget
Para seleccionar cada paquete, pulsamos una sola vez en «Skip» y aparecerá la versión que se va a instalar.

Marcamos los paquetes que hemos mencionado pulsando una vez en «skip»

Resolución de dependencias
Ahora hay que esperar. El tiempo dependerá de la saturación del mirror que hayamos cogido y de la velocidad de nuestra conexión. No tengáis en cuenta los porcentajes que muestra, unas veces subirá otras bajará…. Cuando acabe nos preguntará si queremos añadir los accesos directos correspondientes en el escritorio y en el menú de inicio, en mi caso elegiré los dos sitios.

Accesos directos
Listo, ya tenemos Cygwin instalado. Lo único que queda es abrirlo para que cree todos los directorios de usuario y configuración. Cuando acabe escribimos:
exit

Terminal
Y luego presionamos la tecla «Enter» del teclado para que se cierre. Esto es todo por hoy 😀
Muchas gracias por tu aportación Cristian! 😉
ami no me aparece «util-linux» que ago ? me afectara mucho eso .. en el proceso de cuando aga la rom ??
amigo no me sale la opcion util-linux¿No se si puedo seguir con el tutorial?
ya 3 dias buscando el mirror no pasa nada vuelve autualizar o explica mejopr
PERO EN EL SISTEMA GNU/ LINUX HAY VARIOS PROGRAMAS CUAL SERIA
saludos : buen tutorial bien explicado, soy nuevo en esto. e probado varias rom que e conseguido pero ninguna me funciona bien en mi orinoquia c8600. voy a seguir todo el tutorial a ver si hacerme una que me sirva : gracias
Ánimo pastor! con paciencia se consigue!
Creo que cometí varios errores al ir cocinando la ROM y mi pregunta seria como la borró y comienzo de nuevo porque me da error siempre ( ya desinstale todo y volví a instalar )
@ Juan Antonio. Borra la carpeta de trabajo. Con eso es suficiente para empezar una ROM de nuevo.
Muchísimas gracias por tomarte la molestia de contestarme, pero cual es ? Y donde esta ( perdón por mi ignorancia pero soy nuevo en esto) y megustaria seguir tus pasos en esto de la cocina de mi propia ROM mil gracias desde edo México. Mi móvil es un s4 sgh-m919v que le e cambiado varias (100000) roms, que me an quedado a deber mucho.
No encuentro «util-linux» que puedo hacer?
coño… contigo funciono la instalacion del cygwin!!!! entre las multiples formas que vi en youtube, la unica que funciono fue la tuya, gracias!!!!!
Me gustaria desarrollar una ROM como puede ser miui o CM12 para mi movil, partiendo de una base como android lo hace de AOSP, este tutorial valdria, para optimizar y poder desarrollar una rom, sea cual sea?
Podrás modificar cualquier ROM que soporte la cocina 😉
Funcionara con las rom 4.4.4 de samsung ? 😮
Podrias explicar mejor como descargar lo necesario? con imágenes o un video porque no se cual es
Hola… Hay algo que no me queda muy claro… y es a la hora de instalar los paquetes ¿Hay una manera clata de identificar qué instalar y qué no? es que le he dado a la opción All y tarda demasiado… Hay una apartado que me permite ver todos los archivos y descartgarlos por tipo, pero en realidad no sé que escoger… greacias
Si le das a instalar todo tarda muchísimo… tienes que seleccionar los que digo en el tutorial. Se sabe que está seleccionado porque aparece la versión en lugar de «Skip».
Saludos!
The new working folder will be named WORKING_122217_031908
Change the name (y/n)? (default: n):
Creating working folder WORKING_122217_031908 …
Extracting ROM from TAR file …
Error: No image files identified in TAR archive!
Buenas noches no entiendo por que sale este mensaje si la imagen está dentro del archivo