Hur man skapar ett blixtlås för Android-systemmods

Om du är en Android-utvecklare som vill skapa appar som är avsedda för / systempartition (som root-appar), finns det vissa fall där du vill skapa en flashbar .zip för din app. Detta för att appfilerna kan installeras ordentligt på / systempartitionen.

Några andra användningsområden för flashbara .zips inkluderar:

  • Ändra DPI
  • Tillämpa ett anpassat teckensnitt
  • Tillämpar en anpassad startanimering
  • Ta bort eller lägga till systemappar

Att instruera dina användare att röra sig i filsystemet och manuellt flytta filer är en tidsödelse för alla inblandade - att skapa en flashbar .zip är en mycket bekvämare väg. Den här Appuals guide visar hur du skapar en blixtlåsbar zip för Android.

Vi kommer också att visa dig ett addon.d-skript så att anpassade systemändringar överlever en smutsig ROM-blixt - alltså behöver användarna inte blixta om din zip för varje uppdatering.

Krav:

  • En rotfilutforskare (MiXplorer, Solid Explorer)
  • ZipSigner (för signering av blixtlås) eller MiX Signer-plugin-programmet om du använder MixPlorer
  • En Nandroid-säkerhetskopia rekommenderas starkt

Du bör också förbereda alla filer som går in i zip - APK-filer, konfigurationer, startanimationer etc. Ha allt ordnat innan vi börjar, för det här är en känslig process.

Mall för ett anpassat zip

Om du vill ladda ner en mall zip som du kan anpassa efter dina egna behov, eller använda den som bas för att skapa en flashbar zip, kan du ta dem här:

  • MALLSKRIFT: LADDA NER LÄNKNING (grundläggande kommandon / du måste lägga till dina anpassade värden: appar, sökvägar för ringsignaler, startanimering ...)
  • MALL ZIP: LADDA NER LÄNK (exempel är alltid välkomna för att bättre förstå en förklaring. Det kan hjälpa dig att förstå hur du strukturerar dina filer).

Mallen ska räcka för att börja använda ett anpassat skript.

Du måste komma ihåg dessa huvudvägar, eftersom det här är sakerna i / systempartitionen som dina blixtlås vanligtvis kommer att rikta in sig på:

addon.d => säkerhetskopieringsskript för att överleva en smutsig blixt (används t.ex. av GApps-paketet) app och priv-app => systemappar för att lägga till eller ta bort etc => värdfonsteckensnitt => ditt teckensnittsmedium => ditt bootanimation.zip media> ljud> larm => ljud för larm media> ljud> meddelanden => ljud för meddelanden media> ljud> ringsignaler => ljud för ringsignaler media> ljud> ui => ljud för olika saker som låg batterinivå, upplåsning, kamera, .. root of / system for build.prop-filen

Kom alltid ihåg att filer som tas bort från dessa sökvägar kommer att installeras om efter en smutsig blixt, och filer som har lagts till manuellt kommer att tas bort. Det är därför det är nödvändigt att skapa ett skript som gör en säkerhetskopia av dina / systemmods.

Exempel på ett Update-script

ui_print ("+ ------------------------------------- +"); ui_print ("| CLEAN FLASH SCRIPT |"); ui_print ("| |"); ui_print ("| av Primokorn |"); ui_print ("+ ------------------------------------- +"); run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); ui_print (""); ui_print ("*** Ta bort uppblåsthet ***"); 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 / E-post", "/ 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 / fonograf "," / 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 (" Installera appar och mods , etc "); show_progress (8.800000, 5); package_extract_dir (" system "," / system / "); ui_print (" *** Fixing permissions *** "); 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 ("Klar."); ui_print ("Redo att starta om.");

Obs: ui_print (”“); är för textmeddelande. Dessa rader gör ingenting.

Du bör alltid demontera och montera om partitionen innan du arbetar med den.

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

För att ta bort systemkomponenter / appar, lägg ett komma i slutet av varje rad, förutom den sista.

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

Extrahera de systemfiler du vill installera.

package_extract_dir ("system", "/ system /"); Ange filbehörigheter. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk");

Gör samma sak men för mappen / data. Så du monterar partitionen, extraherar de data du vill lägga till och ställer in behörigheterna.

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

Därefter avmonterar du de modifierade partitionerna.

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

Exempel på Addon.D-skript

#! / sbin / sh # # /system/addon.d/99-dirty.sh # / system formateras och installeras om, sedan återställs filerna. #. /tmp/backuptool.functions list_files () {cat <
   
    

Skapa en lista med filer du vill behålla efter en smutsig blixt.

list_files () {cat <
     
      

RM -RF de filer du inte vill installera efter en smutsig blixt (systemfiler som du tog bort i din modifiering som kommer att installeras om från en smutsig blixt)

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

Hur man skapar ett Flashable Android Zip

Vi använder MiXplorer för detta, eftersom det är den bästa rotutforskaren och filhanteraren för Android, helt enkelt.

  1. First select all your folders that will be included in the zip, and choose Archive.

  2. Confirm the creation of your archive file, give it a name and choose Store.

  3. Your flashable zip will be created, so select the zip file and then Sign it (using MiX signer plugin)
  4. Now select TestKey to just check it for signature errors.
  5. You can now flash the zip – recommend moving it to /SDcard for easily finding it from custom recovery.

Final Notes

Your flashable zip needs to be installed after a clean flash, or after wiping the /system partition and doing a dirty flash of your ROM. The updater-script will remove and add the system files you specified in your script – but leave the addon.d script alone, because it will do its job without any interference from you.

Efter din första installation, kontrollera noggrant / systempartitionen för att se till att allt är korrekt - filer tas bort etc. Kanske hade du ett skrivfel i ett filnamn och det togs inte bort, det händer.

Taggar android utveckling