Comment créer un Zip Flashable pour Android System Mods
Si vous êtes un développeur Android et que vous souhaitez créer des applications destinées à la partition / système (telles que les applications root), vous souhaiterez parfois créer un fichier .zip flashable pour votre application. Cela permet d’installer correctement les fichiers de l’application sur la partition / system.
Quelques autres utilisations de .zips flashable incluent:
- Modifier le DPI
- Appliquer une police personnalisée
- Application d'une animation de démarrage personnalisée
- Supprimer ou ajouter des applications système
Demander à vos utilisateurs de manipuler le système de fichiers et de déplacer manuellement les fichiers est une perte de temps pour toutes les personnes concernées - la création d'un fichier .zip flashable est un itinéraire beaucoup plus pratique. Le guide de cet Appual vous montrera comment créer un zip compressible pour Android.
Nous vous montrerons également un script addon.d, de sorte que les modifications système personnalisées survivent à une mémoire flash sale. Les utilisateurs n'auront donc pas besoin de re-flasher votre zip pour chaque mise à jour.
Exigences:
- Un explorateur de fichiers racine (MiXplorer, Solid Explorer)
- ZipSigner (pour la signature des zips) ou le plug-in MiX Signer si vous utilisez MixPlorer
- Une sauvegarde Nandroid est fortement recommandée
Vous devez également préparer tous les fichiers contenus dans le zip: fichiers APK, config, animations de démarrage, etc. Organisez tout avant de commencer, car il s'agit d'un processus délicat.
Modèle d'un zip personnalisé
Si vous souhaitez télécharger un modèle de zip que vous pouvez personnaliser à votre guise ou l'utiliser comme base pour créer un zip flashable, vous pouvez le récupérer ici:
- MODÈLE SCRIPT: TÉLÉCHARGER LE LIEN (commandes de base / vous devez ajouter vos valeurs personnalisées: applications, chemins des sonneries, bootanimation…)
- MODÈLE ZIP: TÉLÉCHARGER LE LIEN (les exemples sont toujours les bienvenus pour mieux comprendre une explication. Cela peut aider à comprendre comment structurer vos fichiers).
Le modèle devrait être suffisant pour commencer à utiliser un script personnalisé.
Vous devez vous rappeler ces chemins principaux, car ce sont les éléments de la partition / system que vos zips flashable ciblent généralement:
addon.d => script de sauvegarde pour survivre à un flash sale (utilisé par le paquet GApps par exemple) app et priv-app => applications système à ajouter ou supprimer, etc => polices du fichier hôte => votre police média => votre bootanimation.zip multimédia> audio> alarmes => sons pour alarmes multimédia> audio> notifications => sons pour notifications multimédia> audio> sonneries => sons pour sonneries multimédia> audio> ui => sons pour diverses choses telles que batterie faible, déverrouillage, appareil photo, .. racine de / system pour le fichier build.prop
Rappelez-vous toujours que les fichiers supprimés de ces chemins seront réinstallés après un flash sale et que les fichiers ajoutés manuellement seront supprimés. C'est pourquoi il est nécessaire de créer un script qui sauvegarde vos mods / système.
Exemple de script de mise à jour
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 ("*** Suppression de 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 / Courrier électronique ", " / system / app / ExactCalculator ", " / system / app / Exchange2 ", " / system / app / Gello ", " / system / app / HexoLibre ", " / system / app / Jelly ", " / system / app / LiveWallpapersPicker ", " / system / app / LockClock ", " / system / app / messagerie ", " / system / app / MiXplorer ", " / system / app / NexusLauncher ", " / système / app / phonographe ", " / 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 ("Installation d'applications et de 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); programme_exécution ("/ sbin / busybox", "umount", "/ data"); run_program ("/ sbin / busybox", "umount", "/ system"); ui_print (""); ui_print ("Fait."); ui_print ("Prêt à redémarrer.");
Remarque: ui_print (”“); est pour le message texte. Ces lignes ne font rien.
Vous devez toujours démonter et remonter la partition avant de travailler dessus.
run_program ("/ sbin / busybox", "umount", "/ system"); run_program ("/ sbin / busybox", "mount", "/ system");
Pour supprimer les composants du système / les applications, mettez une virgule à la fin de chaque ligne, sauf la dernière.
delete_recursive ("/system/app/adaway.apk", "/ system / app / AdAway", ........................ "/ system / priv-app / WeatherProvider ", " / system / priv-app / Tag ");
Extrayez les fichiers système que vous souhaitez installer.
package_extract_dir ("system", "/ system /"); Définissez les autorisations de fichier. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk");
Faites la même chose mais pour le dossier / data. Vous allez donc monter la partition, extraire les données que vous souhaitez ajouter et définir les autorisations.
run_program ("/ sbin / busybox", "mount", "/ data"); package_extract_dir ("data", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh");
Ensuite, vous démonterez les partitions modifiées.
programme_exécution ("/ sbin / busybox", "umount", "/ data"); run_program ("/ sbin / busybox", "umount", "/ system");
Exemple de script Addon.D
#! / sbin / sh # # /system/addon.d/99-dirty.sh # / system est formaté et réinstallé, puis ces fichiers sont restaurés. #. /tmp/backuptool.functions list_files () {cat <Créez une liste de fichiers que vous souhaitez conserver après un flash sale.
list_files () {cat <RM -RF les fichiers que vous ne voulez pas installer après un flash sale (les fichiers système que vous avez supprimés dans votre modification et qui seront réinstallés à partir d'un flash sale)
rm -rf /system/app/adaway.apk rm -rf / système / app / AdAway rm -rf / système / app / BasicDreams rm -rf / système / app / BookmarkProvider ............ .................................... rm -rf / système / priv-app / WeatherProvider rm -rf / system / priv-app / Tag ;;Comment créer un Zip Android flashable
Nous utiliserons MiXplorer pour cela, car c'est le meilleur explorateur racine et le meilleur gestionnaire de fichiers pour Android, haut la main.
- Commencez par sélectionner tous vos dossiers à inclure dans le zip, puis choisissez Archiver.
- Confirmez la création de votre fichier d’archive, nommez-le et choisissez Store.
- Votre zip compressible sera créé, alors sélectionnez le fichier zip, puis signez-le (à l'aide du plug-in de signataire MiX)
- Sélectionnez maintenant TestKey pour simplement vérifier les erreurs de signature.
- Vous pouvez maintenant flasher le zip - recommandez de le déplacer vers / carte SD pour le retrouver facilement à partir d'une récupération personnalisée.
Notes finales
Votre zip compressible doit être installé après un flash propre, ou après avoir nettoyé la partition / system et effectué un flash sale de votre ROM. Le script de mise à jour supprimera et ajoutera les fichiers système que vous avez spécifiés dans votre script - mais laissez le script addon.d seul, car il fera son travail sans aucune interférence de votre part.
Après votre première installation, vérifiez minutieusement la partition / system pour vous assurer que tout est correct - les fichiers sont supprimés, etc. Peut-être que vous aviez une faute de frappe dans un nom de fichier et que celui-ci n'a pas été supprimé, cela arrive.