Πώς να δημιουργήσετε ένα Flashable Zip για λειτουργίες συστήματος Android

Εάν είστε προγραμματιστής Android που θέλει να δημιουργήσει εφαρμογές που προορίζονται για / διαμέρισμα συστήματος (όπως εφαρμογές root), υπάρχουν ορισμένες περιπτώσεις στις οποίες θέλετε να δημιουργήσετε ένα .zip με δυνατότητα αναβάθμισης για την εφαρμογή σας. Αυτό γίνεται έτσι ώστε τα αρχεία της εφαρμογής να μπορούν να εγκατασταθούν σωστά στο διαμέρισμα / σύστημα.

Μερικές άλλες χρήσεις των flashable .zips περιλαμβάνουν:

  • Τροποποίηση του DPI
  • Εφαρμογή προσαρμοσμένης γραμματοσειράς
  • Εφαρμογή προσαρμοσμένης κίνησης εκκίνησης
  • Κατάργηση ή προσθήκη εφαρμογών συστήματος

Η καθοδήγηση των χρηστών σας να αναστατώνεται στο σύστημα αρχείων και η μη αυτόματη μετακίνηση αρχείων είναι σπατάλη χρόνου για όλους τους εμπλεκόμενους - η δημιουργία ενός flash .zip είναι μια πολύ πιο βολική διαδρομή. Αυτός ο οδηγός του Appual θα σας δείξει πώς να δημιουργήσετε ένα φερμουάρ με δυνατότητα flash για Android.

Θα σας δείξουμε επίσης ένα σενάριο addon.d, έτσι ώστε οι προσαρμοσμένες αλλαγές του συστήματος να επιβιώσουν από ένα βρώμικο φλας ROM - έτσι, οι χρήστες δεν θα χρειαστεί να αναβοσβήνουν ξανά το φερμουάρ σας για κάθε ενημέρωση.

Απαιτήσεις:

  • Ένας εξερευνητής ριζικών αρχείων (MiXplorer, Solid Explorer)
  • ZipSigner (για υπογραφή φερμουάρ) ή το πρόσθετο MiX Signer εάν χρησιμοποιείτε το MixPlorer
  • Συνιστάται ιδιαίτερα ένα αντίγραφο ασφαλείας Nandroid

Θα πρέπει επίσης να προετοιμάσετε όλα τα αρχεία που εισέρχονται στο zip - APK, διαμορφώσεις, κινούμενα σχέδια εκκίνησης κ.λπ. Οργανώστε τα πάντα πριν ξεκινήσουμε, επειδή αυτή είναι μια λεπτή διαδικασία.

Πρότυπο προσαρμοσμένου φερμουάρ

Εάν θέλετε να κατεβάσετε ένα φερμουάρ προτύπου που μπορείτε να προσαρμόσετε στις δικές σας ανάγκες ή να το χρησιμοποιήσετε ως βάση για τη δημιουργία φερμουάρ με δυνατότητα αναδίπλωσης, μπορείτε να τα πάρετε εδώ:

  • ΣΧΕΔΙΟ ΤΥΠΟΥ: ΛΗΨΗ ΣΥΝΔΕΣΗΣ (βασικές εντολές / πρέπει να προσθέσετε τις προσαρμοσμένες τιμές σας: εφαρμογές, διαδρομές ήχων κλήσης, εκκίνηση booting)
  • TEMPLATE ZIP: DOWNLOAD LINK (τα παραδείγματα είναι πάντα ευπρόσδεκτα να κατανοήσουν καλύτερα μια εξήγηση. Μπορεί να σας βοηθήσει να κατανοήσετε πώς να δομήσετε τα αρχεία σας).

Το πρότυπο θα πρέπει να είναι αρκετό για να αρχίσει να χρησιμοποιεί ένα προσαρμοσμένο σενάριο.

Θα πρέπει να θυμάστε αυτές τις κύριες διαδρομές, επειδή αυτά είναι τα πράγματα στο διαμέρισμα / συστήματος που στοχεύουν συνήθως τα φερμουάρ με δυνατότητα αναβάθμισης:

addon.d => εφεδρικό σενάριο για να επιβιώσει ένα βρώμικο φλας (που χρησιμοποιείται από το πακέτο GApps για παράδειγμα) εφαρμογή και priv-app => εφαρμογές συστήματος για προσθήκη ή αφαίρεση κλπ => κεντρικές γραμματοσειρές αρχείων => το αρχείο γραμματοσειρών σας => το bootanimation.zip πολυμέσα> ήχος> συναγερμοί => ήχοι για συναγερμούς πολυμέσα> ήχος> ειδοποιήσεις => ήχοι για ειδοποιήσεις πολυμέσα> ήχος> ήχοι κλήσης => ήχοι για ήχους κλήσης πολυμέσα> ήχος> ui => ήχοι για διάφορα πράγματα όπως χαμηλή μπαταρία, ξεκλείδωμα, κάμερα, .. root του / system για αρχείο build.prop

Να θυμάστε πάντα ότι τα αρχεία που έχουν αφαιρεθεί από αυτές τις διαδρομές θα επανεγκατασταθούν μετά από ένα βρώμικο φλας και τα αρχεία που έχουν προστεθεί χειροκίνητα θα αφαιρεθούν. Αυτός είναι ο λόγος για τον οποίο είναι απαραίτητο να δημιουργηθεί ένα σενάριο που δημιουργεί ένα αντίγραφο ασφαλείας των λειτουργιών / συστήματος σας.

Παράδειγμα σεναρίου ενημέρωσης

ui_print ("+ ------------------------------------- +"); ui_print ("| CLEAN FLASH SCRIPT |"); 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 / PhotoTable "," / system / app / PicoTts "," / system / app / PicoTTS "," / system / app / ResurrectionStats "," / system / app / SoundRecorder "," / σύστημα / 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 / Ετικέτα "); ui_print ("Εγκατάσταση εφαρμογών και mods, κλπ"); show_progress (8.800000, 5); package_extract_dir ("σύστημα", "/ σύστημα /"); 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 ("δεδομένα", "/ δεδομένα /"); 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", ........................ "/ σύστημα / priv-app / WeatherProvider "," / system / priv-app / Tag ");

Εξαγάγετε τα αρχεία συστήματος που θέλετε να εγκαταστήσετε.

package_extract_dir ("σύστημα", "/ σύστημα /"); Ορίστε τα δικαιώματα αρχείου. 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 ("δεδομένα", "/ δεδομένα /"); 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 # / το σύστημα έχει μορφοποιηθεί και επανεγκατασταθεί και στη συνέχεια τα αρχεία αυτά επαναφέρονται. #. /tmp/backuptool.functions list_files () {cat <

Δημιουργήστε μια λίστα αρχείων που θέλετε να διατηρήσετε μετά από ένα βρώμικο φλας.

list_files () {γάτα <

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 / Ετικέτα ;;

Πώς να δημιουργήσετε ένα Flashable Android Zip

Θα χρησιμοποιήσουμε το MiXplorer για αυτό, καθώς είναι ο καλύτερος διαχειριστής ριζών και διαχειριστής αρχείων για Android.

  1. Πρώτα επιλέξτε όλους τους φακέλους σας που θα συμπεριληφθούν στο zip και επιλέξτε Αρχείο.

  2. Επιβεβαιώστε τη δημιουργία του αρχείου αρχειοθέτησής σας, δώστε του ένα όνομα και επιλέξτε Store.

  3. Το φερμουάρ με δυνατότητα αναδίπλωσης θα δημιουργηθεί, οπότε επιλέξτε το αρχείο zip και μετά υπογράψτε το (χρησιμοποιώντας την προσθήκη MiX signer)
  4. Τώρα επιλέξτε TestKey για να το ελέγξετε μόνο για σφάλματα υπογραφής.
  5. Τώρα μπορείτε να αναβοσβήνετε το φερμουάρ - συνιστάται να το μετακινήσετε στο / SDcard για να το βρείτε εύκολα από προσαρμοσμένη ανάκτηση

Τελικές σημειώσεις

Το φερμουάρ με δυνατότητα ανάφλεξης πρέπει να εγκατασταθεί μετά από καθαρό φλας ή μετά τη διαγραφή του διαμερίσματος / συστήματος και το βρώμικο φλας του ROM σας. Το σενάριο updater θα αφαιρέσει και θα προσθέσει τα αρχεία συστήματος που καθορίσατε στο σενάριό σας - αλλά αφήστε το σενάριο addon.d μόνο, γιατί θα κάνει τη δουλειά του χωρίς καμία παρέμβαση από εσάς.

Μετά την πρώτη σας εγκατάσταση, ελέγξτε προσεκτικά το διαμέρισμα / συστήματος για να βεβαιωθείτε ότι όλα είναι σωστά - τα αρχεία έχουν αφαιρεθεί κ.λπ.

Ετικέτες Android ανάπτυξη