So erstellen Sie eine flashfähige Zip-Datei für Android-Systemmodi

Wenn Sie ein Android-Entwickler sind, der Apps für / Systempartition erstellen möchte (z. B. Root-Apps), gibt es bestimmte Fälle, in denen Sie eine flashbare ZIP-Datei für Ihre App erstellen möchten. Auf diese Weise können die App-Dateien ordnungsgemäß auf der / system-Partition installiert werden.

Einige andere Verwendungszwecke von flashbaren .zips sind:

  • Ändern der DPI
  • Anwenden einer benutzerdefinierten Schriftart
  • Anwenden einer benutzerdefinierten Startanimation
  • Entfernen oder Hinzufügen von System-Apps

Wenn Sie Ihre Benutzer anweisen, im Dateisystem herumzuspielen und Dateien manuell zu verschieben, ist dies eine Zeitverschwendung für alle Beteiligten. Das Erstellen einer flashbaren ZIP-Datei ist eine viel bequemere Methode. In diesem Appual's Guide erfahren Sie, wie Sie eine flashbare Zip-Datei für Android erstellen.

Wir zeigen Ihnen auch ein Skript addon.d, damit benutzerdefinierte Systemänderungen einen fehlerhaften ROM-Flash überstehen - Benutzer müssen Ihre Zip-Datei daher nicht bei jedem Update erneut flashen.

Bedarf:

  • Ein Root-Datei-Explorer (MiXplorer, Solid Explorer)
  • ZipSigner (zum Signieren von Reißverschlüssen) oder das MiX Signer-Plug-In, wenn Sie MixPlorer verwenden
  • Ein Nandroid-Backup wird dringend empfohlen

Sie sollten auch alle Dateien vorbereiten, die in die ZIP-Datei gelangen - APKs, Konfigurationen, Startanimationen usw. Alles muss organisiert sein, bevor wir beginnen, da dies ein heikler Prozess ist.

Vorlage für eine benutzerdefinierte Postleitzahl

Wenn Sie eine Zip-Vorlage herunterladen möchten, die Sie an Ihre Bedürfnisse anpassen können, oder diese als Basis für die Erstellung einer flashbaren Zip-Datei verwenden möchten, können Sie sie hier herunterladen:

  • TEMPLATE SCRIPT: DOWNLOAD LINK (grundlegende Befehle / Sie müssen Ihre benutzerdefinierten Werte hinzufügen: Apps, Pfade von Klingeltönen, Bootanimation ...)
  • TEMPLATE ZIP: DOWNLOAD LINK (Beispiele sind immer willkommen, um eine Erklärung besser zu verstehen. Es kann hilfreich sein, zu verstehen, wie Sie Ihre Dateien strukturieren).

Die Vorlage sollte ausreichen, um ein benutzerdefiniertes Skript zu verwenden.

Sie müssen sich diese Hauptpfade merken, da diese Elemente in der / system-Partition normalerweise auf Ihre flashbaren Reißverschlüsse abzielen:

 addon.d => Sicherungsskript zum Überleben einer Dirty-Flash-App (die zum Beispiel vom GApps-Paket verwendet wird) und priv-app => System-Apps zum Hinzufügen oder Entfernen von etc => Host-Datei-Schriftarten => Ihr Schriftart-Medium => Ihre bootanimation.zip Medien> Audio> Alarme => Töne für Alarme Medien> Audio> Benachrichtigungen => Töne für Benachrichtigungen Medien> Audio> Klingeltöne => Töne für Klingeltöne Medien> Audio> UI => Töne für verschiedene Dinge wie Batterie schwach, Entsperren, Kamera, .. root of / system für build.prop Datei 

Denken Sie immer daran, dass aus diesen Pfaden entfernte Dateien nach einem Dirty Flash erneut installiert werden und manuell hinzugefügte Dateien entfernt werden. Aus diesem Grund muss ein Skript erstellt werden, das eine Sicherungskopie Ihrer / system-Mods erstellt.

Beispiel eines Update-Skripts

 ui_print ("+ ------------------------------------- +"); ui_print ("| CLEAN FLASH SCRIPT |"); ui_print ("| |"); ui_print ("| von Primokorn |"); ui_print ("+ ------------------------------------- +"); run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system"); ui_print (""); ui_print ("Löschen von 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 / E-Mail ", " / 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 /Etikett" ); ui_print ("Installieren von Apps und Mods usw."); 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 ("Done."); ui_print ("Bereit zum Neustart."); 

Anmerkung: ui_print (”“); ist für SMS. Diese Zeilen machen nichts.

Sie sollten die Partition immer aushängen und neu einhängen, bevor Sie daran arbeiten.

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

Um Systemkomponenten / Apps zu entfernen, setzen Sie am Ende jeder Zeile ein Komma, mit Ausnahme der letzten.

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

Extrahieren Sie die zu installierenden Systemdateien.

 package_extract_dir ("system", "/ system /"); Legen Sie die Dateiberechtigungen fest. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk"); 

Tun Sie dasselbe, aber für den Ordner / data. Sie mounten die Partition, extrahieren die Daten, die Sie hinzufügen möchten, und legen die Berechtigungen fest.

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

Als nächstes werden Sie die geänderten Partitionen aushängen.

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

Beispiel eines Addon.D-Skripts

 #! / sbin / sh # # /system/addon.d/99-dirty.sh # / system wird formatiert und neu installiert. Anschließend werden die Dateien wiederhergestellt. #. /tmp/backuptool.functions list_files () {cat < 

Erstellen Sie eine Liste der Dateien, die Sie nach einem Dirty Flash behalten möchten.

 list_files () {cat < 

RM -RF die Dateien, die nach einem Dirty Flash nicht installiert werden sollen (Systemdateien, die Sie in Ihrer Modifikation entfernt haben und die nach einem Dirty Flash neu installiert werden)

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

So erstellen Sie eine Flashable Android Zip

Wir werden dafür MiXplorer verwenden, da es zweifellos der beste Root-Explorer und Dateimanager für Android ist.

  1. Wählen Sie zunächst alle Ordner aus, die in der ZIP-Datei enthalten sein sollen, und wählen Sie Archivieren.

  2. Bestätigen Sie die Erstellung Ihrer Archivdatei, vergeben Sie einen Namen und wählen Sie Speichern.

  3. Ihre flashbare Zip-Datei wird erstellt. Wählen Sie die Zip-Datei aus und signieren Sie sie (mit dem MiX-Signer-Plugin).
  4. Wählen Sie nun TestKey aus, um nur nach Signaturfehlern zu suchen.
  5. Sie können die Zip-Datei jetzt flashen - empfehlen Sie, sie auf / SDcard zu verschieben, um sie bei der benutzerdefinierten Wiederherstellung problemlos zu finden.

Schlussbemerkungen

Ihr flashfähiger Zip muss nach einem sauberen Flash oder nach dem Löschen der / system-Partition und einem Dirty-Flash Ihres ROM installiert werden. Das Updater-Skript entfernt und fügt die Systemdateien hinzu, die Sie in Ihrem Skript angegeben haben. Lassen Sie jedoch das Skript addon.d in Ruhe, da es seine Arbeit ohne Ihr Zutun erledigt.

Überprüfen Sie nach Ihrer ersten Installation die / system-Partition sorgfältig, um sicherzustellen, dass alles korrekt ist - Dateien werden entfernt usw. Möglicherweise hatten Sie einen Tippfehler in einem Dateinamen und dieser wurde nicht entfernt.

Interessante Artikel