Comment utiliser un GIF comme clé d'accueil de la barre de navigation Android

  • Comment décompiler et thématiser les APK Android
  • Comment désinstaller vos APK sur les ROM en stock
  • Exigences:

    • Un téléphone Android enraciné (Appuals propose de nombreux guides racine Android!)
    • Un outil de décompilation APK ( nous recommandons Outil facile APK )
    • Un bon éditeur de code comme Bloc-notes ++

    Décompiler votre SystemUI.apk

    La première chose à faire est de désodexer votre SystemUI.apk - vous pouvez utiliser un outil comme Tickle My Android pour cela. Lisez le guide Appuals pour déodexer les APK sur ce processus.



    La prochaine étape consiste à décompiler le SystemUI.apk, qui nécessite un guide en lui-même si vous ne l'avez jamais fait auparavant - heureusement, Appuals a ' Comment thématiser manuellement l'interface utilisateur du système Android 'Avec des instructions de décompilation, alors lisez-le si vous n'avez jamais décompilé un fichier APK auparavant.

    Ajouter la Fichiers SMALI

    Vous devez maintenant ajouter de nouveaux fichiers smali - il existe un pack de fichiers .smali déjà modifiés pour exactement ce que nous devons faire disponible ICI . Plus précisément, vous devez extraire le fichier «SelfAnimatingImageView.smali» du fichier .zip et l'ajouter à votre APK décompilé dans le répertoire:



    SystemUI.apk  smali  com  android  morningstar 

    Vous devrez créer ces dossiers s’ils n’existent pas.



    Diviser un GIF en cadres

    Vous devez maintenant trouver un .gif animé que vous aimez et que vous souhaitez utiliser comme bouton d'accueil de la barre de navigation. Vous devez utiliser un gif autocollant, comme vous pouvez le trouver sur Giphy.com/stickers - vous remarquerez qu'ils ont des arrière-plans transparents comme un PNG, mais ce sont en fait des GIF.



    Une fois que vous avez enregistré un GIF autocollant que vous aimez, vous devez le convertir en une série de PNG. C'est parce que notre SystemUI modifié n'exécutera pas réellement un fichier .gif natif, il lira les PNG dans un ordre séquentiel. Nous devons donc diviser le .gif en PNG séquentiels, heureusement, nous pouvons très facilement le faire avec un convertisseur en ligne comme EZGIF Split .

    Téléchargez simplement votre GIF dans l'outil EZGIF Split, choisissez «Output images in PNG format» dans le menu déroulant Split Options, et il extraira toutes les images dans un ordre séquentiel. Ensuite, vous pouvez télécharger les cadres ensemble dans un fichier ZIP.



    Maintenant, vous devez ajouter les images PNG du GIF divisé à votre fichier approprié ' drawable-xxxDPI ”Dans votre dossier apk SystemUI décompilé. Le dossier que vous utiliserez dépend du DPI de votre appareil, donc:

    • MDPI = ~ 160 ppp
    • HDPI = ~ 240 ppp
    • XHDPI = ~ 320 ppp
    • XXHDPI = ~ 480 ppp
    • XXXHDPI = ~ 640 ppp

    Nous avons maintenant besoin d'un fichier XML qui indique à Android quelles images utiliser pour l'animation et à quelle vitesse les parcourir. Revenez au fichier ZIP que vous avez téléchargé précédemment et récupérez le 'frame_anim.xml', et copiez-le dans votre dossier 'res drawable' dans l'APK décompilé.

    Si vous ouvrez le frame_anim.xml dans Notepad ++, cela devrait ressembler à ceci:

     

    Chaque ligne commençant par

    Et enfin, avant de pouvoir recompiler le SystemUI.apk, nous devons mettre notre animation sur la barre de navigation. C'est un peu délicat, car nous allons éditer le fichier XML de mise en page. Dans la plupart des ROM stockées, le code qui contrôle la touche logicielle de la barre de navigation HOME se trouve dans «layout navigation_bar.xml», mais il peut également être trouvé dans «layout home.xml». Vous devez chasser pour cela, en fonction de votre ROM.

    En gros, vous recherchez le fichier XML de mise en page contenant le code qui ressemble à ceci:

    android: id = '@ id / home_button' android: layout_width = '0.0dip' android: layout_height = '0.0dip' android: scaleType = 'center' android: contentDescription = '@ string / availability_home' systemui: keyCode = '3' />

    Vous saurez que vous êtes dans le bon fichier XML lorsque vous voyez des lignes qui font référence au bouton d'accueil ou similaire. Ce que nous devons faire c'est cacher cette touche HOME, et mettez-en une nouvelle à sa place qui sera de la même taille, mais invisible, puis nos images animées iront en dessous. C'est en fait assez facile, tout ce dont nous avons besoin est un FrameLayout code .

     

    Si vous examinez ce code, vous verrez comment nous avons trois éléments différents empilés les uns sur les autres. Mais lorsque l'application est en cours d'exécution, vous ne la voyez pas. Tout ce que vous voyez est votre GIF animé où la touche HOME doit se trouver dans la barre de navigation.

    Donc, tout ce que vous avez à faire est de remplacer la ligne de code de la touche programmable HOME par le code FrameLayout ci-dessus, mais vous devrez peut-être le modifier pour votre ROM particulière. Un peu d'essais et d'erreurs est nécessaire ici.

    Recompilation l'APK et le flasher

    Nous sommes maintenant prêts à recompiler l'APK modifié. Utilisez simplement l'APK Easy Tool pour recompiler le SystemUI.apk et flashez-le en mode de récupération sur votre appareil. Il est important de le faire en mode de récupération, car vous devez effacer le cache Dalvik, sinon les nouveaux fichiers smali que nous avons ajoutés ne seront pas activés.

    Si tout se passe bien, vous devriez voir votre GIF animé comme nouvelle clé d'accueil de la barre de navigation!

    4 minutes de lecture