วิธีสร้าง Zip Flashable สำหรับ Android System Mods

หากคุณเป็นนักพัฒนาแอนดรอยด์ที่ต้องการสร้างแอปที่มีไว้สำหรับ / พาร์ติชันระบบ (เช่นแอปรูท) มีบางกรณีที่คุณต้องการสร้างไฟล์. zip สำหรับแอปของคุณ เพื่อให้สามารถติดตั้งไฟล์แอพลงในพาร์ติชัน / system ได้อย่างเหมาะสม

การใช้งานอื่น ๆ อีกสองสามประการของ. zip ที่แฟลชได้ ได้แก่

  • การปรับเปลี่ยน DPI
  • ใช้แบบอักษรที่กำหนดเอง
  • ใช้แอนิเมชั่นสำหรับบูตแบบกำหนดเอง
  • การลบหรือเพิ่มแอพระบบ

การสั่งให้ผู้ใช้ของคุณยุ่งในระบบไฟล์และย้ายไฟล์ด้วยตนเองเป็นเรื่องที่เสียเวลาสำหรับทุกคนที่เกี่ยวข้อง - การสร้างไฟล์. zip ที่สามารถแฟลชได้เป็นเส้นทางที่สะดวกกว่ามาก คู่มือ Appual นี้จะแสดงวิธีสร้างไฟล์ zip สำหรับ Android

นอกจากนี้เราจะแสดงสคริปต์ addon.d ให้คุณด้วยเพื่อให้การเปลี่ยนแปลงระบบที่กำหนดเองจะอยู่รอดจากแฟลช ROM สกปรก - ดังนั้นผู้ใช้ไม่จำเป็นต้องแฟลช zip ของคุณใหม่สำหรับการอัปเดตแต่ละครั้ง

ข้อกำหนด:

  • root file explorer (MiXplorer, Solid Explorer)
  • ZipSigner (สำหรับการเซ็นชื่อซิป) หรือปลั๊กอิน MiX Signer หากคุณใช้ MixPlorer
  • ขอแนะนำให้ใช้การสำรองข้อมูล Nandroid

นอกจากนี้คุณควรเตรียมไฟล์ทั้งหมดที่จะเข้าสู่ zip เช่น APK, Configs, ภาพเคลื่อนไหวสำหรับบูต ฯลฯ จัดระเบียบทุกอย่างก่อนที่เราจะเริ่มเพราะนี่เป็นกระบวนการที่ละเอียดอ่อน

เทมเพลตของ Zip ที่กำหนดเอง

หากคุณต้องการดาวน์โหลดแม่แบบ zip ที่คุณสามารถปรับแต่งตามความต้องการของคุณเองหรือใช้เป็นฐานในการสร้างซิปที่ถอดออกได้คุณสามารถหาได้ที่นี่

  • สคริปต์เทมเพลต: ลิงก์ดาวน์โหลด (คำสั่งพื้นฐาน / คุณต้องเพิ่มค่าที่คุณกำหนดเอง: แอพเส้นทางของเสียงเรียกเข้า bootanimation ... )
  • TEMPLATE ZIP: DOWNLOAD LINK (ยินดีต้อนรับตัวอย่างเพื่อทำความเข้าใจคำอธิบายให้ดีขึ้นเสมอซึ่งจะช่วยให้เข้าใจวิธีจัดโครงสร้างไฟล์ของคุณได้)

เทมเพลตควรเพียงพอสำหรับการเริ่มใช้สคริปต์ที่กำหนดเอง

คุณจะต้องจำเส้นทางหลักเหล่านี้ไว้เนื่องจากสิ่งเหล่านี้คือสิ่งต่างๆในพาร์ติชัน / system ที่โดยทั่วไปแล้วซิปที่แฟลชของคุณจะกำหนดเป้าหมาย:

addon.d => สคริปต์สำรองเพื่อเอาตัวรอดจากแฟลชสกปรก (ใช้โดยแพ็กเกจ GApps เป็นต้น) แอปและแอปส่วนตัว => แอประบบเพื่อเพิ่มหรือลบ ฯลฯ => แบบอักษรไฟล์โฮสต์ => สื่อแบบอักษรของคุณ => bootanimation.zip ของคุณ สื่อ> เสียง> สัญญาณเตือน => เสียงสำหรับสื่อสัญญาณเตือน> เสียง> การแจ้งเตือน => เสียงสำหรับสื่อการแจ้งเตือน> เสียง> เสียงเรียกเข้า => เสียงสำหรับสื่อเสียงเรียกเข้า> เสียง> ui => เสียงสำหรับสิ่งต่างๆเช่นแบตเตอรี่อ่อนปลดล็อกกล้องถ่ายรูป .. root ของ / system สำหรับไฟล์ build.prop

โปรดจำไว้เสมอว่าไฟล์ที่ถูกลบออกจากพา ธ เหล่านี้จะถูกติดตั้งใหม่หลังจากแฟลชสกปรกและไฟล์ที่เพิ่มด้วยตนเองจะถูกลบออก นี่คือเหตุผลที่จำเป็นในการสร้างสคริปต์ที่สำรองข้อมูลของ mods / system ของคุณ

ตัวอย่างของ Update-Script

ui_print ("+ ------------------------------------- +"); ui_print ("| สคริปต์แฟลชที่สะอาด |"); ui_print ("| |"); ui_print ("| โดย Primokorn |"); ui_print ("+ ------------------------------------- +"); run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); ui_print (""); ui_print ("*** การลบ 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 (" การติดตั้งแอปและม็อด ฯลฯ "); show_progress (8.800000, 5); package_extract_dir (" system "," / system / "); ui_print (" *** แก้ไขสิทธิ์ *** "); 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 /"); 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 ("เสร็จแล้ว"); ui_print ("พร้อมที่จะรีบูต");

หมายเหตุ: ui_print (”“); สำหรับข้อความ เส้นพวกนี้ไม่ทำอะไร

คุณควรยกเลิกการต่อเชื่อมและติดตั้งพาร์ติชันใหม่ทุกครั้งก่อนที่จะดำเนินการ

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

ในการลบส่วนประกอบของระบบ / แอพให้ใส่ลูกน้ำที่ท้ายแต่ละบรรทัดยกเว้นอันสุดท้าย

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

แตกไฟล์ระบบที่คุณต้องการติดตั้ง

package_extract_dir ("ระบบ", "/ system /"); ตั้งค่าการอนุญาตไฟล์ set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk");

ทำสิ่งเดียวกัน แต่สำหรับโฟลเดอร์ / data ดังนั้นคุณจะติดตั้งพาร์ติชันแยกข้อมูลที่คุณต้องการเพิ่มและตั้งค่าสิทธิ์

run_program ("/ sbin / busybox", "mount", "/ data"); package_extract_dir ("ข้อมูล", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh");

ถัดไปคุณจะยกเลิกการต่อเชื่อมพาร์ติชันที่แก้ไข

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

ตัวอย่างสคริปต์ Addon.D

#! / sbin / sh # # /system/addon.d/99-dirty.sh # / system ได้รับการฟอร์แมตและติดตั้งใหม่จากนั้นไฟล์จะถูกกู้คืน #. /tmp/backuptool.functions list_files () {cat <
   
    

สร้างรายการไฟล์ที่คุณต้องการเก็บไว้หลังจากแฟลชสกปรก

list_files () {cat <
     
      

RM -RF ไฟล์ที่คุณไม่ต้องการติดตั้งหลังจากแฟลชสกปรก (ไฟล์ระบบที่คุณลบออกในการปรับเปลี่ยนของคุณซึ่งจะติดตั้งใหม่จากแฟลชสกปรก)

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 / แท็ก ;;

วิธีสร้าง Android Zip ที่ Flashable

เราจะใช้ MiXplorer สำหรับสิ่งนี้เนื่องจากเป็น root explorer และตัวจัดการไฟล์ที่ดีที่สุดสำหรับ Android

  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.

หลังจากการติดตั้งครั้งแรกของคุณให้ตรวจสอบพาร์ติชัน / system อย่างละเอียดเพื่อให้แน่ใจว่าทุกอย่างถูกต้อง - ไฟล์จะถูกลบออก ฯลฯ บางทีคุณอาจพิมพ์ชื่อไฟล์ผิดและไม่ได้ลบออกมันจะเกิดขึ้น

แท็กการพัฒนาหุ่นยนต์