Ciò che deve essere fatto è raggruppare boot.img e costruire un nuovo file zip adatto per il flashing tramite ClockworkMod o TWRP.
Prerequisiti :
- un ambiente Linux che ha i soliti pacchetti di sviluppo, come Java installato. ( Può anche applicarsi ad altre piattaforme, basta fare attenzione che le istruzioni qui che indicano il percorso usato di seguito, usano una barra
/
, quindi capovolgere per essere una barra rovesciata \
per l'ambiente Windows in particolare! )
- strumento da riga di comando adb installato.
- strumento `testsign.jar ' , per firmare il file zip in modo che il ripristino possa autenticarsi e verificare che sia un archivio valido, altrimenti il ripristino riporterà un archivio corrotto o simile.
update-binary
applicazione da riga di comando , che è interna per l'uso con lo script flashable. (Questo può essere trovato con qualsiasi zip flashable, l'importante è estrarre quel binario e depositato nella struttura della directory come mostrato)
- strumento da riga di comando zip.
Supponendo che la tua directory si chiami workdir , per la discussione, chiamiamola directory di lavoro, copialaboot.img
in quella directory e crea la seguente struttura di directory - META-INF/com/google/android
questo è importante! E all'interno di META-INF/com/google/android
, copia l'applicazione binaria chiamata update-binary
in quella directory. Quindi la struttura delle directory dovrebbe essere così:
+ workdir/
+
|
+--+ boot.img
|
|
+--+ META-INF/
+
|
+--+ com/
+
|
+--+ google/
+
|
+--+ android/
+
|
+--> update-binary
|
+--> updater-script
Per quanto riguarda il updater-script
, copia i seguenti contenuti:
ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");
Ricorda: non confonderti qui, lo script di aggiornamento come mostrato, dovrebbe essere lasciato solo e così com'è, quindi non provare a capovolgere la barra rovesciata su una barra rovesciata se lo fai in ambiente Windows.
Torna al genitore della struttura di directory, ovvero al di fuori di workdir e procedi come segue, creeremo un file zip da questo:
zip -r my_custom_flashable_boot_unsigned.zip workdir/
che è una funzione ricorsiva, questo comprimerà tutto nel file chiamato my_custom_flashable_boot_unsigned.zip .
Infine, per firmare il file zip, emettere questo:
java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip
Quindi è una questione di spingerlo attraverso la SDCard come in adb push my_custom_flashable_boot_signed.zip /sdcard/
e andare manualmente al recupero e specificare quell'archivio zip (cioè my_custom_flashable_boot_signed.zip ) in cui eseguirà il flashing per te.