|
||
|
![]() |
![]() |
ROM y desarrollo Motorola Moto G (2013) ROM y desarrollo Motorola Moto G (2013) |
![]() |
|
Herramientas |
#1
|
||||
|
||||
![]()
Como habréis observado algunos, dentro de las OTAs hay unos ficheros que "son parcheados" a los ya existentes, para añadirles los cambios, en lugar de sobrescribir entero el fichero existente. Estos ficheros que contienen "la información adicional", poseen la extensión '.p'.
Por ejemplo, viene un fichero llamado "boot.img.p", el cual se le parcheará al 'boot.img' original para añadirle la nueva información. Lo mismo pasa con ficheros APK, ODEX, SO, etc... Para realizar el proceso de obtención de la info a parchear, y el proceso de parchear dicha información, se tiene en cuenta si el fichero es de texto plano o no, ya que emplean utilidades diferentes en función de eso. En el caso de texto plano, emplean la utilidad "Binary diff". La cual se compone de 2 partes:
Y tras la teoría, viene la petición. ¿Alguien tiene una versión de "applypatch", o al menos de "imgpatch", ya compilada? Me da igual que sea para Linux o para Windows (Win32), aunque preferiría que fuera para Windows. ¿O alguien sabe compilarlo? Me imagino que el que sea usuario avanzado de Linux sabrá. El link del source estaba ahí arriba, por si lo quiere. Última edición por LEPT Día 27/01/15 a las 11:42:46. |
|
#2
|
||||
|
||||
Bueno, me voy auto-contestando (creo que soy el usuario que hace más eso
![]() Dentro del propio Android, ya tenemos un applypatch pre-compilado. Pero no logro hacer que funcione en el Linux de mi PC. Luego ha resultado que el funcionamiento de applypatch es algo 'tedioso'... Código:
usage: applypatch [-b <bonus-file>] <src-file> <tgt-file> <tgt-sha1> <tgt-size> [<src-sha1>:<patch> ...] or applypatch -c <file> [<sha1> ...] or applypatch -s <bytes> or applypatch -l Filenames may be of the form MTD:<partition>:<len_1>:<sha1_1>:<len_2>:<sha1_2>:... to specify reading from or writing to an MTD partition. Traducido (al menos un poco) sería algo así: [PHP]applypatch nombre_viejo nombre_nuevo SHA-1_nuevo tamaño_nuevo_bytes SHA-1_viejo:parche_p[/PHP] Se puede usar desde la ventana de comandos, pero casi que sale más a cuenta generar un script para un ZIP flasheable y hacerlo desde ahí, lo cuak no me hace mucha gracia ![]() Bueno, misterio solucionado. No obstante si alguien logra hacer funcionar el applypatch en linux o lo compila para windows, que me avise ![]() |
![]() |
![]() |
||||||
|