Come creare una zip flashable per le mod di sistema Android

Se sei uno sviluppatore Android che desidera creare app destinate alla / partizione di sistema (come le app di root), ci sono alcuni casi in cui vorrai creare un .zip flashable per la tua app. Questo in modo che i file dell'app possano essere installati correttamente nella partizione / system.

Alcuni altri usi di .zip flashable includono:

  • Modifica del DPI
  • Applicazione di un carattere personalizzato
  • Applicazione di un'animazione di avvio personalizzata
  • Rimozione o aggiunta di app di sistema

Indicare ai tuoi utenti di fare casino nel file system e spostare manualmente i file è una perdita di tempo per tutti i soggetti coinvolti: la creazione di un .zip flashable è un percorso molto più conveniente. Questa guida di Appual ti mostrerà come creare una zip flashable per Android.

Ti mostreremo anche uno script addon.d, in modo che le modifiche al sistema personalizzato sopravvivano a un flash ROM sporco, quindi gli utenti non dovranno ripetere il flashing di ogni zip.

Requisiti:

  • Un esploratore di file root (MiXplorer, Solid Explorer)
  • ZipSigner (per la firma di zip) o il plug-in MiX Signer se si utilizza MixPlorer
  • Un backup Nandroid è altamente raccomandato

Dovresti anche preparare tutti i file che stanno andando in zip - APK, configurazioni, animazioni di avvio, ecc. Organizzare tutto prima di iniziare, perché questo è un processo delicato.

Modello di una zip personalizzata

Se desideri scaricare un modello zip che puoi personalizzare in base alle tue esigenze o utilizzarlo come base per la creazione di uno zip flashable, puoi prenderli qui:

  • MODELLO SCRIPT: DOWNLOAD LINK (comandi di base / devi aggiungere i tuoi valori personalizzati: app, percorsi di suonerie, bootanimation ...)
  • ZIP MODELLO: SCARICA IL LINK (gli esempi sono sempre ben accetti per comprendere meglio una spiegazione. Può aiutare a capire come strutturare i tuoi file).

Il modello dovrebbe essere sufficiente per iniziare a utilizzare uno script personalizzato.

Dovrai ricordare questi percorsi principali, perché questi sono gli elementi nella partizione / system che i tuoi zip flashable saranno in genere destinati:

 addon.d => script di backup per sopravvivere a un'applicazione flash sporca (utilizzata ad esempio dal pacchetto GApps) e app priv-= => app di sistema per aggiungere o rimuovere etc => font file host => media font => your bootanimation.zip media> audio> allarmi => suoni per allarmi media> audio> notifiche => suoni per notifiche media> audio> suonerie => suoni per suonerie media> audio> ui => suoni per varie cose come batteria scarica, sblocco, fotocamera, .. root di / system per il file build.prop 

Ricorda sempre che i file rimossi da questi percorsi verranno reinstallati dopo un flash sporco e i file che sono stati aggiunti manualmente verranno rimossi. Questo è il motivo per cui è necessario creare uno script che faccia un backup delle tue mod / system.

Esempio di un Update-Script

 ui_print ( "+ ------------------------------------- +"); ui_print ("| CLEAN FLASH SCRIPT |"); ui_print ("| |"); ui_print ("| di Primokorn |"); ui_print ( "+ ------------------------------------- +"); run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); ui_print (""); ui_print ("*** Eliminazione di bloatwares ***"); delete_recursive ("/system/app/adaway.apk", "/ system / app / AdAway", "/ system / app / BasicDreams", "/ system / app / BookmarkProvider", "/ system / app / Calendar", " / system / app / CalendarWidget ", " / system / app / CMFileManager ", " / system / app / CMWallpapers ", " / system / app / DeskClock ", " / system / app / Eleven ", " / system / app / Email ", " / system / app / ExactCalculator ", " / system / app / Exchange2 ", " / system / app / Gello ", " / system / app / HexoLibre ", " / system / app / Jelly ", " / system / app / LiveWallpapersPicker ", " / system / app / LockClock ", " / system / app / messaging ", " / system / app / MiXplorer ", " / system / app / NexusLauncher ", " / system / app / Phonograph ", " / system / app / PhotoTable ", " / system / app / PicoTts ", " / system / app / PicoTTS ", " / system / app / ResurrectionStats ", " / system / app / SoundRecorder ", " / system / app / Terminal ", " / system / app / TugaBrowser ", " / system / app / Wallpaper ", " / system / app / WallpaperPickerGoogle ", " / system / priv-app / AudioFX ", " / system / priv- app / Chrome ", " / system / priv-app / Gallery2 ", " / system / priv-app / MusicFX ", " / system / priv-app / OnePlusCamera ", " / system / priv- app / OnePlusGallery ", " / system / priv-app / OnePlusMusic ", " / system / priv-app / Recorder ", " / system / priv-app / Screencast ", " / system / priv-app / Snap ", " / system / priv-app / SnapdragonCamera ", " / system / priv-app / SnapdragonGallery ", " / system / priv-app / WeatherManagerService ", " / system / priv-app / WeatherProvider ", " / system / priv-app / Tag "); ui_print ("Installazione di app e mod, ecc"); show_progress (8.800000, 5); package_extract_dir ("system", "/ system /"); ui_print ("*** Permessi di riparazione ***"); set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); set_perm (0, 0, 0644, "/system/etc/gps.conf"); set_perm (0, 0, 0644, "/system/fonts/Roboto-Regular.ttf"); set_perm (0, 0, 0644, "/system/media/audio/ringtones/PlasticRing.ogg"); set_perm (0, 0, 0644, "/system/priv-app/Phonesky.apk"); set_perm (0, 0, 0644, "/system/priv-app/microG.apk"); set_perm (0, 0, 0644, "/system/priv-app/Gsam.apk"); set_perm (0, 0, 0644, "/system/priv-app/BBS.apk"); set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk"); run_program ("/ sbin / busybox", "mount", "/ data"); package_extract_dir ("data", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh"); show_progress (8.800000, 5); run_program ("/ sbin / busybox", "umount", "/ data"); run_program ("/ sbin / busybox", "umount", "/ system"); ui_print (""); ui_print ( "Fine".); ui_print ("Pronto per il riavvio."); 

Nota: ui_print (”“); è per il messaggio di testo. Queste righe non fanno nulla.

Dovresti sempre smontare e reinstallare la partizione prima di lavorarci sopra.

 run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); 

Per rimuovere componenti / app di sistema, inserire una virgola alla fine di ogni riga, tranne l'ultima.

 delete_recursive ("/system/app/adaway.apk", "/ system / app / AdAway", ........................ "/ system / priv-app / WeatherProvider ", " / system / priv-app / Tag "); 

Estrarre i file di sistema che si desidera installare.

 package_extract_dir ("system", "/ system /"); Imposta le autorizzazioni del file. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk"); 

Fare la stessa cosa ma per la cartella / data. Quindi monterai la partizione, estrarrai i dati che vuoi aggiungere e imposterai le autorizzazioni.

 run_program ("/ sbin / busybox", "mount", "/ data"); package_extract_dir ("data", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh"); 

Successivamente smonterai le partizioni modificate.

 run_program ("/ sbin / busybox", "umount", "/ data"); run_program ("/ sbin / busybox", "umount", "/ system"); 

Esempio di script Addon.D

 #! / sbin / sh # # /system/addon.d/99-dirty.sh # / system viene formattato e reinstallato, quindi i file vengono ripristinati. #. /tmp/backuptool.functions list_files () {cat < 

Crea un elenco di file che desideri conservare dopo un flash sporco.

 list_files () {cat < 

RM -RF i file che non si desidera installare dopo un flash sporco (file di sistema rimossi nella modifica che verranno reinstallati da un flash sporco)

 rm -rf /system/app/adaway.apk rm -rf / system / app / AdAway rm -rf / system / app / BasicDreams rm -rf / system / app / BookmarkProvider ............ .................................... rm -rf / system / priv-app / WeatherProvider rm -rf / system / priv-app / Tag ;; 

Come creare uno zip Android flashable

Per questo utilizzeremo MiXplorer, poiché è il miglior esploratore di root e file manager per Android, senza dubbio.

  1. Prima seleziona tutte le cartelle che saranno incluse nella zip e scegli Archivio.

  2. Conferma la creazione del tuo file di archivio, assegnagli un nome e scegli Store.

  3. Verrà creato il tuo zip flashable, quindi seleziona il file zip e poi Firmalo (usando il plug-in MiX Signer)
  4. Ora seleziona TestKey per controllarlo solo per errori di firma.
  5. Ora è possibile eseguire il flashing dello zip: consigliamo di spostarlo su / SDcard per trovarlo facilmente dal ripristino personalizzato.

Note finali

La zip flashable deve essere installata dopo un flash pulito o dopo aver cancellato la partizione / system e aver eseguito un flash sporco della ROM. Lo script di aggiornamento rimuoverà e aggiungerà i file di sistema specificati nello script, ma lascerà solo lo script addon.d, perché farà il suo lavoro senza alcuna interferenza da parte tua.

Dopo la prima installazione, controlla attentamente la partizione / system per assicurarti che tutto sia corretto - i file vengono rimossi, ecc. Forse hai avuto un errore di battitura in un nome di file e non è stato rimosso, succede.

Articoli Interessanti