|
||
|
|
|
|||||||
| ROMs y desarrollo Sony Xperia SP ROMs y desarrollo Sony Xperia SP |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Creacion de un update.zip / Modificacion de una rom (explicacion para noveles)
Tutorial creacion de un update.zip / modificacion de una rom Modificar una rom o crear un archivo instalable por recovery no es nada complicado. Tan solo tenemos que tener unas nociones basicas de los comandos u ordenes que hemos utilizado siempre en linux/android. Como vereis mas adelante vamos a utilizar comandos como por ejemplo: delete_recursive, set_perm_recursive, mount, unmount, etc., que seguro que os sonaran a muchos usuarios de linux. Este tutorial va ha estar dividido en 5 secciones: 1.- Software necesario 2.- La carpeta META-INF y el archivo updater-script (comandos basicos) 3.- Carpetas system y data 4.- Firmado del update.zip 5.- Ejemplos practicos 1.- SOFTWARE NECESARIO El software que os enlazo aqui debajo es necesario para poder realizar la practica: - Zip con la carpeta META-INF DESCARGAR - Notepad++ DESCARGAR - Compresor Winrar o 7zip DESCARGAR 7ZIP - Aplicacion Auto-sign DESCARGAR - Java JDK DESCARGAR 2.- LA CARPETA META-INF Y EL ARCHIVO UPDATER-SCRIPT (comandos basicos) Este es sin duda el tema mas importante que hay dentro de este tuto ya que vamos a tratar algunos de los comandos y la forma que tiene android de interpretarlos. ![]() 2.1.- Carpeta META-INF En esta carpeta estan todos los scripts que se van a utilizar para la correcta instalacion de nuestro archivo. No puede faltar nunca. Yo os he dejado un archivo que contiene esta carpeta ya, firmada y con algunos de los comandos que utilizaremos con los ejemplos practicos ya que de otra forma deberiamos utilizar cgwin (cocina android) para crearla. Dentro de esta carpeta lo que nos interesa es el archivo "updater-script" que se encuentra en com/google/android. ![]() 2.2.- El Archivo UPDATER-SCRIPT Este archivo es la madre del cordero. Aqui vamos a construir el script necesario para instalar nuestro archivo, indicando que es lo que queremos hacer y como, para que el sistema nos obedezca e instale todo lo que le hemos puesto y, si se lo indicamos bien, no tendremos errores. Para modificar este archivo lo primero que tenemos que hacer es extraer el archivo y abrirlo con el Notepad++. ![]() 2.3.- Comandos Vamos a describir unos comandos basicos con los que podreis trabajar. Hay muchos mas, pero creo que con estos os sobraran para empezar a trabajar con los archivos update.zip ui_print("LO QUE QUIERAS PONER"); "LO QUE QUIERAS PONER" SALDRA EN LA PANTALLA DEL RECOVERY. ui_print(""); Dejamos un espacio en blanco entre lineas. delete("/system/app/clock.apk"); Borramos el archivo clock.apk de la carpeta system. delete_recursive("/cache"); Borramos la carpeta cache. package_extract_dir("system/app", "/system/app"); Copiamos el contenido de la carpeta system/app de nuestro zip a la memoria interna en la rura que le indicamos. set_perm(0, 0, 0644, "/system/build.prop"); Aplicamos permisos correctos al archivo build.prop que hay dentro de la carpeta system. show_progress(0.100000, 0); Muestra la barra de progreso (Porcion de la barra, frecuencia). show_progress(1, 15); Igual que la anterior pero con un formato diferente. Ambos funcionan igual. mount("ext4", "EMMC", "/dev/block/mmcblk0p13", "/system"); Montamos la carpeta system mount("/system"); Igual que la anterior pero abreviado. Mas segura la otra para instalar roms completas unmount("/system"); Desmontamos system *** Nota: fijaros bien que despues del argumento siempre finalizamos con un punto y coma (;) Siguiente post "3.- CARPETAS SYSTEM Y DATA" y "4.- FIRMANDO EL UPDATE.ZIP" Última edición por TTMaster Día 26/07/14 a las 14:17:20. |
| Los siguientes 8 usuarios han agradecido a TTMaster su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
Tutorial creacion de un update.zip / modificacion de una rom 3.- CARPETAS SYSTEM Y DATA Dentro de un archivo zip instalable por recovery, podemos encontrar la siguiente estructura: META-INF-> como ya hemos dicho, esta carpeta es la contenedora de los scripts. data -> Para instalar aplicaciones de usuario. sysmen/app -> Instala las aplicaciones de sistema. Si queremos instalar aplicaciones de usuario deberemos crear una carpeta en la raiz del archivo zip con el nombre "data" en minusculas. Si deseamos instalar aplicaciones de sistema deberemos crear una carpeta "system" y dentro de ella otra con nombre "app" siempre en minusculas. ![]() ***Nota: La carpeta system tieme una particion propia y tiene limitado el espacio. No abusar de aplicaciones de sistema. ***Nota: muchas aplicaciones de sistema dependen de sus librerias y archivos de configuracion. Es posible que tengais que incluir varias carpetas con los archivos dependientes de la aplicacion. 4.- FIRMANDO EL UPDATE.ZIP Es obligado firmar los zip que vayamos a instalar (aunque hay veces que podremos modificarlo sin tener que volver a firmarlo) para que el sistema nos reconozca que se trata de un paquete de instalacion android. Para ello nos serviremos de la aplicacion "Auto-sign" que nos hara el trabajo por nosotros sin tener que instalar cygwin o la cocina android. Para ello nos descargamos auto-sign.zip y lo descomprimimos en la carpeta que queramos de nuestro PC. Una vez descomprimido vamos a la carpeta "auto-sign" y colocamos alli nuestro archivo con el nombre "update.zip". Ejecutamos el archivo "sign.bat" y esperamos a que finalice. ![]() Una vez finalizado comprobamos que nos ha creado un archivo llamado "update_signed.zip". Este archivo es el que debemos instalar por recovery. Lo renombramos como queramos y listo. ya tenemos nuestro zip instalable por recovery. 5.- EJEMPLOS PRACTICOS Ahora que ya sabemos como hacer nuestro primer instalable, vamos a realizar un ejercicio practico donde modificaremos el contenido de una rom recien instalada en nuestro dispositivo. Vamos a poner tres "YSi's" (jejeje) 1.- ¿y si no me gusta la calculadora que va en la rom y deseo cambiarla por la de la LG que es cientifica y me gusta mas? 2.- ¿Y si quiero instalar los widgets o cualquier otra aplicacion que suelo usar y no me apetece volver a instalarla desde el PlayStore? 3.- ¿Y si ademas quiero que me haga los wipes cache y dalvik cache? Primero que nada tendremos que estructurar nuestro archivo zip añadiendo las carpetas que necesitamos: Abrimos con winrar/7zip y veremos que tenemos solo la carpeta META-INF dentro del archivo. En el primer caso (primer ysi) la calculadora la vamos a poner como aplicacion de sistema, con lo cual, debemos crear dentro del zip la carpeta "system" y dentro de ella la carpeta "app". Una vez hecho esto colocamos el la aplicacion "calculadora_lg.apk" En el segundo caso hablamos de aplicaciones de usuario que, como os he explicado antes, debemos instalarlas en "data". Para ello volvemos a la raiz del zip y creamos la carpeta "data". Entramos en la carpeta y metemos alli nuestras aplicaciones de widgets o nuestras preferidas. *** Nota: Si no disponemos de las aplicaciones en el pc, basta con utilizar cualquier explorador root y sacarlas de la carpeta "data" que hay en la raiz de nuestro terminal. No confundir con la carpeta data que hay dentro del system. Bueno, ya tenemos nuestro zip preparado y solo nos queda editar el archivo "updater-script". Para ello extraemos el archivo y lo abrimos con el notepad++ para añadir lo siguiente: Código:
ui_print("Update personalizado");
ui_print(" Por Juanito ");
mount("/cache");
mount("/data");
mount("ext4", "EMMC", "/dev/block/mmcblk0p13", "/system");
ui_print("-- Limpiando Cache y Dalvik");
delete_recursive("/cache");
delete_recursive("/data/dalvik-cache");
delete("/system/app/Calculator.apk");
package_extract_dir("data", "/data");
show_progress(0.1, 10);
show_progress(0.2, 0);
show_progress(0.2, 10);
unmount("/system");
unmount("/cache");
unmount("/data");
ui_print("- HECHO!!!");
Ahora solo nos queda guardar el updater-script modificado, meterlo otra vez en el zip y firmarlo. Suerte con esto y saludos. Última edición por TTMaster Día 27/07/14 a las 19:28:43. Razón: Modificacion del montado del system |
| Los siguientes 7 usuarios han agradecido a TTMaster su comentario: | ||
|
#3
|
||||
|
||||
|
Preparando tutorial morphing y extraccion de system y kernel desde un ftf. (proximamente)
Última edición por TTMaster Día 26/07/14 a las 11:13:00. |
| Gracias de parte de: | ||
|
#4
|
||||
|
||||
|
Espectacular tuto
|
|
#5
|
||||
|
||||
|
Excelente tutorial TTMaster. Añadir que para usar "Auto-sign" deberemos tener instalado Java en nuestro equipo.
Saludos. Última edición por piponito Día 26/07/14 a las 04:24:33. |
| Gracias de parte de: | ||
|
#6
|
||||
|
||||
|
chincheta que no se pierda este post.
![]() ![]()
|
|
#8
|
||||
|
||||
|
Ahora edito la seccion de software necesario. Gracias piponito Última edición por TTMaster Día 26/07/14 a las 11:11:05. |
| Gracias de parte de: | ||
|
#10
|
||||
|
||||
|
buenas ttmaster, siguiendo el ejemplo que pones cuando lo instalo en el recovery me sale error status 6
|
|
#11
|
||||
|
||||
|
|
| Gracias de parte de: | ||
|
#12
|
||||
|
||||
|
|
|
#13
|
||||
|
||||
|
Hola TTMaster,
como haria para hacer un zip flasheable de mis apps,para instalarlas luego de instalar una rom por completa y no tener que estar bajandolas de nuevo del play store. extraigo mis apps de la carpeta system, pero como haria con el updatescript |
![]() |
Estás aquí
|
||||||
|
||||||