¿Puedo hacer un zip flasheable ejecutando comandos?

Estoy usando cm13 en mi OnePlus 3, junto con SuperSu sin sistema y suhide. Cuando actualizo cm (a menudo), necesito flashear tanto SuperSu como suhide. El problema es que cm viene con acceso de root y cuando se actualiza crea un directorio su en /system/bin/su que suhide detecta para que no se instale. Necesito eliminar ese directorio entre los flashes, y me gustaría crear un script que haga eso por mí cuando lo actualice para que pueda actualizar todos los archivos juntos en la actualización usando CyanDelta. Sé que esto es posible porque he visto otros zips que ejecutan scripts de comando cuando los flasheo.

Respuestas (1)

Encuentre un paquete flasheable vacío en alguna parte; editar META-INF/com/google/android/updater-scripty agregar delete_recursive("/path/to/your/directory");para eliminar el directorio en cuestión.

(Pensándolo bien, ¿es realmente necesario hacer un zip flasheable para este único propósito? Si su teléfono tiene la recuperación TWRP disponible, ¿por qué no usar su administrador de archivos incorporado?)

OP también podría crear su propio ZIP flasheable, con la estructura META-INF/com/google/android , crear un archivo binario de actualización dentro del último directorio y escribir #!/sbin/sh, seguido de mount -o rw /partition_namey rm -rf /path/to/your/directorydentro del archivo. Finalmente, simplemente comprima la carpeta META-INF y aquí está el ZIP flasheable.
@DeathMaskSalesman Wow, no sé si podrías escribirte update-binarya ti mismo (los que he visto están en su mayoría en formato ilegible, excepto SuperSU). Gracias por la info.
De hecho, el binario de actualización clásico es un binario compilado, como un sh . La solución para aquellos que quieren más flexibilidad es simplemente escribir el archivo como un script de shell simple y, al hacerlo, también puede ignorar el script de actualización .
@DeathMaskSalesman ¿Cómo se puede reemplazar un binario por un script? Me suena raro que esto sea factible.
Ah, no sé el procedimiento empleado por una recuperación. Aún así, si no me cree, puede desempaquetar un ZIP flashable de CyanogenMod y examinar su actualización binaria. Por ejemplo, el que analicé comenzaba con los bytes 7F 45 4C 46, que significan .ELF, identificando el archivo como un binario compilado.
Gracias a todos, la razón por la que me gustaría un zip flasheable es que actualizo mi teléfono a menudo, casi todos los días, y me gustaría actualizar todo simplemente presionando actualizar en CyanDelta.
Hice lo que dijiste, pero cuando actualizo mi zip, TWRP me dice que no pudo encontrar META-INF/com/google/android/update-binary. ¿Qué debo hacer, editar el archivo binario de actualización de alguna manera? Estoy haciendo esto usando TextEdit en mi Mac, y cuando trato de editar el archivo, solo muestra un montón de tonterías. ¿Puedo pedirle a alguien que me haga este zip, solo un archivo para eliminar /system/xbin/su?
Cargué lo que había empaquetado en mi AndroidFileHost ; pruébelo. Si /system/xbin/sues un directorio en lugar de un archivo, reemplácelo deletecon delete_recursivein updater-script.
¡Gracias! Esto funcionó, ahora puedo actualizar mi teléfono sin problemas: D