PDA

Ver la Versión Completa : [ TUTORIAL ] Creación de un update personal para aplicar desde Recovery


ElHechicero
05/07/12, 14:33:12
COMO CREAR UN ZIP CON TODOS NUESTROS MODS PARA APLICADLOS DE UN PLUMAZO DESDE EL RECOVERY
Solo para usuarios con el Recovery disponible

Bueno....como ya ha bastantes MODs por ahí rulando y muchos os liáis al meterlos a mano aparte que algunos es complicado salvo lo hagáis por consola ADB os adjunto un Update.ZIP para aplicar desde el recovery sin problemas y es que en algunos casos como modificaciones del SystemUI.apk al pegarlo a mano al /system/app luego os da error hasta reiniciar y no podréis cambiarle los permisos necesarios a 644.

El proceso es sencillo.

Miramos que mods queremos. Por ejemplo uno para tener % de bateria ( fichero /system/app/SystemUI.apk ) , una animación de encendido ( /system/media/bootanimation.zip ) o vuestros tonos personales tenerlos junto a los de sistema para que sean más rápidos y fáciles de asignar y no se pierda la asignación cuando en ocasiones desmontemos la sdcard .

Por ello:

1 - Bajamos el "Personal_Update_byElHechicero.zip" de AQUI (https://docs.google.com/open?id=0B20eTtC2WiowM2UteTM3M1o3QTA)

2 - Lo abrimos con WinRar ( si no lo tenéis lo instaláis )

3 - Bajamos los mods que queramos aplicar ( por ejemplo un SystemUI.apk para % bateria y un bootanimation.zip para la animación de encendido. Donde se publiquen los mods, ponen el fichero y os dicen donde debe colocarse.

4 - Abrimos con Winrar el "Personal_Update_byElHechicero.zip" y abrimos la ruta donde queremos quede el fichero ( por ejemplo /system/app) y ahí dentro arrastramos desde el PC los ficheros que queremos colocar.

http://img337.imageshack.us/img337/5556/39246995.png

Al hacerlo nos saltará una pantalla con el detalle a la hora de meter los ficheros. Pues debemos indicar en "Metodo de Compresion = SIN COMPRIMIR".

Salimos y listo.

5 - Pegamos ese ZIP a la SDCard y arrandando en modo recovery entramos en "Update ZIP from SDcard" lo buscamos, aplicamos y listo. Todo en un paso.[/COLOR]




Ventajas: Poder aplicar de todo a la vez.
En mi caso y es el adjunto, veréis que hay un bootanimation, un SystemUI con un % de bateria, unos apks del WifiDirect en /system/app/, tonos personales en /system/media/audio. Pues cuando x día haga un wipe, luego aplico ese zip y todo eso me queda como estaba ...a mi gusto.


NOTA: En el adjunto ya va con contenidos. Borrad con el Winrar los que no querais limpiando el zip y luego meted los vuestros. Borrar los ficheros, dejad las carpetas.

He dejado mis ficheros para que os sirva como ejemplo.




NUEVO:

GENERADOR AUTOMATICO DE UPDATE.zip CON MODS Y CON RESTORE >>> http://www.htcmania.com/showthread.php?t=414831


.

Jonylito
05/07/12, 14:49:14
Que bueno ElHechicero. Cuando tenga recovery me servirá mucho, mucho, mucho.
Un saludo!

ElHechicero
05/07/12, 14:55:40
Es muy util.

En mi caso, pues llevo un bootanimation personal, tonos personales para llamada, notificaciones y alarma, y el % de bateria que me gusta.

Pues bien...si un borro todo aplicando una rom diferente, si aplico al instante este ZIP personalizado recupero de un plumazo todo eso sin necesidad de hacerlo de nuevo a mano.

Se pueden aplicar:

/system/app >> Aplicaciones de sistema
/data/app >> Aplicaciones personales
/data/data >> Carpetas de datos de las aplicaciones personales
/system/media/ >> Ficheros de arranque ( bootanimation.zip )
/system/media/audio >> Carpetas con los tonos de llamada, notificaciones, alarmas, etc.

...y cualquiera que queráis. Siempre que sean del /data o del /system y hagáis dentro la estructura de carpetas correcta con sus ficheros...listo. Lo que hace es desde el Recovery, con sistema parado y evidentemente sin errores ni problemas, aplicar toda esa estructura a la raiz del sistema.

Jonylito
05/07/12, 15:02:37
La verdad es que es una ideaza. Sin duda no tardaré ni dos segundos en hacerlo cuando tenga recovery ajaja

Eres un as ;)

ru17
06/07/12, 10:36:11
Digo yo que si haces una backup con el tittanium de las aplis de sistema, es lo mismo no?

Pregunto nose...

Portu

ElHechicero
06/07/12, 11:18:38
Digo yo que si haces una backup con el tittanium de las aplis de sistema, es lo mismo no?

Pregunto nose...

Portu

No. Una cosa son las aplicaciones :

> /system/app >> Aplicaciones de sistema
> /data/app >> Aplicaciones de usuario
> /data/data >> Datos de aplicaciones de sistema y usuario

y otra cosa es configuraciones de sistema que están en otras rutas. Los programas de backups solo restauran las anteriormente indicadas, no ficheros de sistema. Ojo...una cosa es que restaures "ajustes de sistema" [ /data/data pues son las configuraciones de las aplicaciones de sistema] y otra que restaures los propios apks de sistema.


Yo, de paso que tengo el ZIP con mis configuraciones de sistema, "DE PASO" , meto mi backup también. De ese modo desde recovery lo restaura "TODO" sin necesidad de luego tener que desde Titanium o similares tener que restaurarlo. Desde recovery es más rápido y lo hago "de paso" que aplico mis mods.

ru17
06/07/12, 11:24:11
No. Una cosa son las aplicaciones :

> /system/app >> Aplicaciones de sistema
> /data/app >> Aplicaciones de usuario
> /data/data >> Datos de aplicaciones de sistema y usuario

y otra cosa es configuraciones de sistema que están en otras rutas. Los programas de backups solo restauran las anteriormente indicadas, no ficheros de sistema. Ojo...una cosa es que restaures "ajustes de sistema" [ /data/data pues son las configuraciones de las aplicaciones de sistema] y otra que restaures los propios apks de sistema.


Yo, de paso que tengo el ZIP con mis configuraciones de sistema, "DE PASO" , meto mi backup también. De ese modo desde recovery lo restaura "TODO" sin necesidad de luego tener que desde Titanium o similares tener que restaurarlo. Desde recovery es más rápido y lo hago "de paso" que aplico mis mods.

No sabia por eso pregunto, vengo de un wave, dejame que me amolde poco a poco xD

Portu

ElHechicero
06/07/12, 11:31:37
No sabia por eso pregunto, vengo de un wave, dejame que me amolde poco a poco xD

Portu

Jeje. Por eso lo explico.

Mira..por ejemplo el fichero que pone el % en la barra de estado es el /system/app/SystemUI.apk
Otro...la animación de encendido es el /system/media/bootanimation.zip

Pues esos, son aplicaciones/ficheros de sistema que ninguna app de backups te copian. Para eso se preparan los updates para aplicar desde recovery. Y pueden ser MODs, o pueden ser ROMS completas. El método es IDENTICO solo que una rom completa pues tiene TODA LA ESTRUCTURA de directorios desde la /

Jonylito
07/07/12, 15:28:08
A currar!!!

Jonylito
07/07/12, 15:43:15
Lo siento pero esto no funciona bien... Funciona de maravilla!!!!! 1000+1 gracias ElHechicero!!!

Yakandu
08/07/12, 11:46:30
Preguntas varias me bienen a la mente, como es que sabe que permisos tiene que poner a cada cosa?

por ejemplo a xbin/su y bin/su para superusuario

ElHechicero
08/07/12, 11:56:00
Salvo al /system/app/* que debe tener 644 , al resto le deja los permisos x defecto de system y son suficientes.

Aún así creo q el recovery copia dejando los permisos del destino en caso existan.si no existen aplica el x defecto de system.

Enviado desde mi LT26i usando Tapatalk

kastell
08/07/12, 12:04:11
Preguntas varias me bienen a la mente, como es que sabe que permisos tiene que poner a cada cosa?

por ejemplo a xbin/su y bin/su para superusuario

Porque esto sirve solo para algunas cosas menos complejas, en cuanto haya alguien que meta algo más complicado que cambie cosas especiales del sistema o especialmente protegidas por el sistema, tendrá un problema y no le funcionará en el mejor de los casos o no le iniciará el teléfono, según lo que cambie.

Es una buena idea del hechizero crear una cosa así para meter ciertas cosas como lo que explica, mods de la barra notificaciones, bootanimation, etc, pero supongo que fallará con ciertos scripts, cosas que tengan que ser firmadas después de modificarlas, etc.

Yo no sé como va en los Sony, en los samsung igual es similar, pero cambiar la barra notificaciones con el icono del supercyrclebattery en un HTC Legend es mucho más complejo que esto y siempre o casi siempre daría un bucle de error al iniciar.

No es una crítica!! ojo, que me parece una gran idea para facilitar las cosas a usuarios poco avanzados y que les guste ir aprendiendo y trasteando, pero el tema por lo menos en otros terminales es bastante más difícil que hacerlo así.

Saludos.

Yakandu
08/07/12, 12:11:29
ionvestigare y ampliare esta info.

de mientras, con que programa has hecho esto? he encontrado varios para crear el script pero me da que mejor a mano xD

kastell
08/07/12, 12:14:10
a mano si vas a modificar poca cosa es mejor, pero una rom entera te puedes follar metiendo líneas!

Yakandu
08/07/12, 12:15:09
challenge accepted, antes para borrar las apps de los firmwares de HTC tube que hacer un script de 5 paginas para borrarlos uno por uno xD

ElHechicero
08/07/12, 12:25:01
Los permisos se dejan los de destino.
No hay problemas x eso. Sí es una ROM completa y evidentemente se formatea previamente, deben indicarse permisos. Pero para mods no. Os lo aseguro.

Enviado desde mi LT26i usando Tapatalk

ElHechicero
08/07/12, 12:27:52
ionvestigare y ampliare esta info.

de mientras, con que programa has hecho esto? he encontrado varios para crear el script pero me da que mejor a mano xD

Lo he hecho yo a mano.
Mirad en mi perfil en Theme Editor. Era un generador automático de mods creado x mi para roms de SGS. Y al final lo aplicaba todo en un pack online x adb u offline mediante un update.zip. Jamas hubo problemas. Y todo automatico.cualquier user podía mediante selección de menús dejar el theme de su sistema a su gusto en un plis.

Enviado desde mi LT26i usando Tapatalk

Yakandu
08/07/12, 12:43:25
aqui tienes un script por si quieres añadir el superusuario y sus bianrios

ui_print("");
ui_print("Actualizando ficheros");
ui_print("Por favor, espere");
show_progress(1, 15);
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
delete("/system/bin/su","/system/xbin/su","/system/app/Superuser.apk");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system/app/");
set_perm(0, 0, 06755, "/system/bin/su");
symlink("/system/bin/su", "/system/xbin/su");
package_extract_dir("data", "/data");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/data");
ui_print("");
ui_print("Finalizado!.Reinicia y disfruta");
ui_print("");

aunque aun no entiendo el symlink, los valores del show progress y los diferentes campos del set_perm, es decir, pa ke son los diferentes 4 campos ((uid, gid, dmode, fmode, "path");) xd

fjcor
08/07/12, 21:15:29
Qué recovery aconsejáis instalar?

Gracias y un saludo

Enviado desde mi LT26i usando Tapatalk 2

Yakandu
08/07/12, 21:41:38
solo hay uno disponible

fjcor
08/07/12, 21:54:13
solo hay uno disponible

Lo buscaré

Edito: He buscado y solo encuentro éste: ClockWorkMod CMW Recovery para Xperias 2012 con bootloader bloqueado. ¿Es éste al que te refieres? ¿también sirve para bootloader desbloqueado?

Gracias y un saludo

Jonylito
09/07/12, 16:48:41
Lo buscaré

Edito: He buscado y solo encuentro éste: ClockWorkMod CMW Recovery para Xperias 2012 con bootloader bloqueado. ¿Es éste al que te refieres? ¿también sirve para bootloader desbloqueado?

Gracias y un saludo

JAJAJAJAJAJA vaya firma cabrón

fjcor
09/07/12, 16:52:57
JAJAJAJAJAJA vaya firma cabrón

je je je, es que me tienen hasta los bemoles...

Por cierto, ¿tú sabrías responderme a lo que pregunto?

Gracias y un saludo.

domy5
09/07/12, 17:50:14
je je je, es que me tienen hasta los bemoles...

Por cierto, ¿tú sabrías responderme a lo que pregunto?

Gracias y un saludo.

Fjcor. Ese no es porque es para los de bootloaders bloqueados y los demás de cwm son para la versión anterior de Android si es tu caso?, pero para ICS sólo hay uno que se llama algo así Advanced Stock ICS Kernel for Xperia S que es un kernel preroot y poco mas.

Enviado desde mi LT26i usando Tapatalk 2

ElHechicero
09/07/12, 17:55:11
Advanced Stock ICS Kernel for Xperia S >> http://www.htcmania.com/showthread.php?t=407684


.

fjcor
09/07/12, 18:23:10
Fjcor. Ese no es porque es para los de bootloaders bloqueados y los demás de cwm son para la versión anterior de Android si es tu caso?, pero para ICS sólo hay uno que se llama algo así Advanced Stock ICS Kernel for Xperia S que es un kernel preroot y poco mas.

Enviado desde mi LT26i usando Tapatalk 2







Advanced Stock ICS Kernel for Xperia S >> http://www.htcmania.com/showthread.php?t=407684


.

Muchísimas gracias a los dos. Con compañeros así da gusto. :ok:

ElHechicero
09/07/12, 18:54:32
Aqui os dejo un ejemplo del META-INF\com\google\android\updater-script bastante completo y bueno ya que es recomendable limpiar la dalvik-cache cuando se meten apps nuevas , así como la cache en caso de meter bootanimation , etc.

De nuevo reitero...está pensado para mods sencillos, no roms completas. Y cualquier mod suele ser del /system/app o del /system/lib y poco mas. Aunque el script soporta cualquier cosa que cuelgue del /system o del /data , pero en caso "especial" debéis ajustar los permisos según el siguiente script.


ui_print(" ");
show_progress(0.200000, 10);
ui_print(" ");
ui_print("================================================");
ui_print("= =");
ui_print("= MODs by ElHechicero =");
ui_print("= =");
ui_print("================================================");
ui_print("= =");
ui_print("= Montando unidades... =");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/cache");
ui_print("= =");
ui_print("= Limpiando Cache ... =");
delete_recursive("/cache");
delete_recursive("/data/dalvik-cache");
ui_print("= =");
ui_print("= Instalando... =");
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
ui_print("= =");
ui_print("= Ajustando permisos... =");
set_perm_recursive(0, 0, 0755, 0644, "/system/app/");
set_perm_recursive(0, 0, 0775, 0775, "/system/lib/");
show_progress(1.000000, 0);
ui_print("= =");
ui_print("================================================");
ui_print(" ");
ui_print("Hecho! Reinicia y disfruta!");

ElHechicero
09/07/12, 23:08:57
Estoy trabajando en algo "util, unico y complejo" respecto a este tema.

Estoy haciendo un programa en Windows ( UN BAT para que sea codigo abierto y cualquiera pueda modificarlo ) , que simplemente con pegar cualquier fichero de un update en una carpeta , nos genera otro con "LO MISMO" pero los originales del terminal.

Me explico. Imaginaros que os bajáis un update para cambiar el % de bateria ( systemui.apk ) o cualquier otro, incluya librerias o no...cualquier cosa. Y váis y aplicais desde recovery y ....ufff....no funciona. Y ....ufff...no hice backup previo.

Pues bien....si ANTES de pasarlo al terminal metemos ese update.zip, tenemos el terminal enchufado al PC y con los drivers instalados, mi script lo que hace es leer el update.zip completo, saca lista de todos los ficheros, realiza varios procesos internos para ajustes de rutas, etc y saca mediante adb pull todos esos ficheros del terminal, a una ruta temporal. Tras ello, genera un update NUEVO a la par del que teníamos , pero para "RESTORE". Se meten los 2 a la SDCard y aplicamos el original. Si funciona...genial. Si no funciona tenemos el generado por mi script para recuperar el sistema.

Ya lo tengo al 80% de desarrollo.

ElHechicero
10/07/12, 22:20:38
NUEVO:

GENERADOR AUTOMATICO DE UPDATE.zip CON MODS Y CON RESTORE >>> http://www.htcmania.com/showthread.php?t=414831


.

Jonylito
31/03/13, 21:00:02
Qué pocos agradecimientos aquí... Espero que fuese por que no había mucha gente aún en el foro... Que poco agradecidas son algunas personas...

Mrluisitoh
31/03/13, 21:07:29
Interesante! Lo probaré algún día.

Por cierto, donde dices que borremos el contenido de las carpetas para no tener la configuración que tú personalmente has puesto, ¿hay que eliminar todo el contenido de todas las carpetar, dejando únicamente a estas últimas?


P.D: ¿Qué mod para el porcentaje de la batería llevas puesto?

Un saludo y gracias.