Cum să creați un zip Flashable pentru modurile de sistem Android

Dacă sunteți un dezvoltator Android care dorește să creeze aplicații destinate / partiției de sistem (cum ar fi aplicațiile rădăcină), există anumite cazuri în care veți dori să creați un .zip flashable pentru aplicația dvs. Aceasta este astfel încât fișierele aplicației să poată fi instalate în mod corespunzător pe partiția / sistem.

Câteva alte utilizări ale zip-urilor flashable includ:

  • Modificarea DPI
  • Aplicarea unui font personalizat
  • Aplicarea unei animații de boot personalizate
  • Eliminarea sau adăugarea aplicațiilor de sistem

Instruirea utilizatorilor dvs. de a se încurca în sistemul de fișiere și de a muta manual fișiere este o pierdere de timp pentru toți cei implicați - crearea unui .zip flashable este o cale mult mai convenabilă. Acest ghid al aplicației vă va arăta cum să creați un fișier zip flashable pentru Android.

Vă vom arăta, de asemenea, un script addon.d, astfel încât modificările personalizate ale sistemului să supraviețuiască unei blițuri ROM murdare - astfel, utilizatorii nu vor fi nevoiți să vă re-flashează fișierul zip pentru fiecare actualizare.

Cerințe:

  • Un explorator de fișiere rădăcină (MiXplorer, Solid Explorer)
  • ZipSigner (pentru semnarea fermoarelor) sau plug-in-ul MiX Signer dacă utilizați MixPlorer
  • O copie de rezervă Nandroid este foarte recomandată

De asemenea, ar trebui să pregătiți toate fișierele care intră în fișierul zip - APK-uri, configurări, animații de încărcare etc. Aveți totul organizat înainte de a începe, deoarece acesta este un proces delicat.

Șablon al unui Zip personalizat

Dacă doriți să descărcați un șablon zip pe care îl puteți personaliza în funcție de propriile dvs. nevoi sau îl puteți folosi ca bază pentru crearea unui zip flashable, le puteți lua aici:

  • SCRIPT TEMPLATE: LINK DE DESCĂRCARE (comenzi de bază / trebuie să adăugați valorile personalizate: aplicații, căi de tonuri de sonerie, bootanimation ...)
  • TEMPLATE ZIP: DOWNLOAD LINK (exemplele sunt întotdeauna binevenite pentru a înțelege mai bine o explicație. Vă poate ajuta să înțelegeți cum să vă structurați fișierele).

Șablonul ar trebui să fie suficient pentru a începe să utilizați un script personalizat.

Va trebui să vă amintiți aceste căi principale, deoarece acestea sunt lucrurile din partiția / sistem pe care fermele dvs. flashable le vor viza în mod obișnuit:

addon.d => script de backup pentru a supraviețui unui flash murdar (folosit de pachetul GApps, de exemplu), aplicație și priv-app => aplicații de sistem pentru a adăuga sau a elimina etc => fonturi de fișiere gazdă => fontul media => bootanimation.zip media> audio> alarms => sunete pentru alarme media> audio> notificări => sunete pentru notificări media> audio> tonuri de apel => sunete pentru tonuri de apel media> audio> ui => sunete pentru diverse lucruri, cum ar fi baterie slabă, deblocare, cameră, .. rădăcina / system pentru fișierul build.prop

Amintiți-vă întotdeauna că fișierele eliminate de pe aceste căi vor fi reinstalate după un flash murdar, iar fișierele care au fost adăugate manual vor fi eliminate. Acesta este motivul pentru care este necesar pentru a crea un script care face o copie de rezervă a modurilor dvs. / de sistem.

Exemplu de actualizare-script

ui_print ("+ -------------------------------------"); ui_print ("| CLEAN FLASH SCRIPT |"); ui_print ("| |"); ui_print ("| de Primokorn |"); ui_print ("+ -------------------------------------"); run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); ui_print (""); ui_print ("*** Ștergerea 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 (" Instalarea aplicațiilor și a modurilor , etc "); show_progress (8.800000, 5); package_extract_dir (" sistem "," / sistem / "); ui_print (" *** Permisiuni de reparare *** "); set_perm (0, 0, 0755," / sistem /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 ("date", "/ 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 („Terminat”); ui_print ("Gata de repornire.");

Notă: ui_print (”“); este pentru mesaj text. Aceste linii nu fac nimic.

Întotdeauna trebuie să demontați și să re-montați partiția înainte de a lucra la ea.

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

Pentru a elimina componentele / aplicațiile sistemului, puneți o virgulă la sfârșitul fiecărei linii, cu excepția ultimei.

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

Extrageți fișierele de sistem pe care doriți să le instalați.

package_extract_dir ("sistem", "/ sistem /"); Setați permisiunile pentru fișiere. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk");

Faceți același lucru, dar pentru folderul / data. Deci, veți monta partiția, veți extrage datele pe care doriți să le adăugați și veți seta permisiunile.

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

Apoi veți demonta partițiile modificate.

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

Exemplu de script Addon.D

#! / sbin / sh # # /system/addon.d/99-dirty.sh # / system este formatat și reinstalat, apoi fișierele sunt restaurate. #. /tmp/backuptool.functions list_files () {cat <
   
    

Creați o listă de fișiere pe care doriți să le păstrați după o bliț murdar.

list_files () {cat <
     
      

RM -RF fișierele pe care nu doriți să le instalați după un flash murdar (fișierele de sistem pe care le-ați eliminat în modificarea dvs., care vor fi reinstalate dintr-un flash murdar)

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 ;;

Cum se creează un zip Android Flashable

Vom folosi MiXplorer pentru acest lucru, deoarece este cel mai bun explorator de root și manager de fișiere pentru Android, cu mâinile jos.

  1. Mai întâi selectați toate folderele care vor fi incluse în fișierul zip și alegeți Arhivă.

  2. Confirmați crearea fișierului dvs. de arhivă, dați-i un nume și alegeți Magazin.

  3. Zip-ul dvs. flashable va fi creat, deci selectați fișierul zip și apoi Semnați-l (utilizând pluginul semnator MiX)
  4. Acum selectați TestKey pentru a verifica doar erorile de semnătură.
  5. Acum puteți bloca zip-ul - recomandăm să îl mutați pe / SDcard pentru a-l găsi cu ușurință din recuperarea personalizată.

Note finale

Zip-ul flashable trebuie instalat după o bliț curat sau după ce ați șters partiția / sistem și ați făcut un bliț murdar al ROM-ului. Actualizatorul-script va elimina și adăuga fișierele de sistem pe care le-ați specificat în script - dar lăsați singur scriptul addon.d, deoarece își va face treaba fără nici o interferență din partea dvs.

După prima dvs. instalare, verificați cu atenție partiția / sistem pentru a vă asigura că totul este corect - fișierele sunt eliminate, etc.

Etichete Android Development