Com s'utilitza un GIF com a clau d'inici de la barra de navegació d'Android

  • Com es descompilen i es temen els APK d'Android
  • Com Deodex els vostres APK en ROM existents
  • Requisits:

    • Un telèfon Android arrelat (Appuals té moltes guies d'arrel d'Android!)
    • Una eina de descompilació de l'APK ( Nosaltres recomenem APK Easy Tool )
    • Un bon editor de codi com Bloc de notes ++

    Descompilació del vostre SystemUI.apk

    El primer que heu de fer és deodex el vostre SystemUI.apk: podeu fer servir una eina com Tickle My Android. Llegiu la guia d'Appuals per descodificar APK en aquest procés.



    El següent pas és descompilar el SystemUI.apk, que requereix una guia per si mateix si no ho heu fet mai abans. Afortunadament, Appuals ha ' Com es tema manualment la interfície d’usuari del sistema Android 'Amb instruccions de descompilació, de manera que feu una lectura si mai no heu descompilat cap APK.

    Sumant el Arxius SMALI

    Ara cal afegir fitxers smali nous: hi ha un paquet de fitxers .smali ja modificats per al que hem de fer disponible exactament AQUÍ . En concret, heu d'extreure el fitxer 'SelfAnimatingImageView.smali' del fitxer .zip i afegir-lo al vostre APK descompilat al directori:



    SystemUI.apk  smali  com  android  morningstar 

    Haureu de crear aquestes carpetes si no existeixen.



    Dividir un GIF en marcs

    Ara heu de trobar un .gif animat que us agradi i que vulgueu utilitzar com a botó d'inici de la barra de navegació. Hauríeu d’utilitzar un fitxer gif adhesiu, com podeu trobar a Giphy.com/stickers - notareu que tenen fons transparents com un PNG, però en realitat són GIF.



    Un cop hàgiu desat un GIF adhesiu que vulgueu, haureu de convertir-lo en una sèrie de PNG. Això es deu al fet que el nostre SystemUI modificat en realitat no executarà un fitxer .gif natiu, reproduirà PNG en ordre seqüencial. Per tant, hem de dividir el fitxer .gif en PNG seqüencials, per sort podem fer-ho molt fàcilment amb un convertidor en línia com EZGIF Split .

    Simplement pengeu el vostre GIF a l'eina de divisió EZGIF, seleccioneu 'Imatges de sortida en format PNG' al menú desplegable Opcions de divisió i extraurà tots els fotogrames en ordre seqüencial. A continuació, podeu descarregar els marcs junts en un fitxer ZIP.



    Ara heu d'afegir els marcs PNG del GIF dividit al vostre 'adequat' drawable-xxxDPI ”A la carpeta apk de SystemUI descompilada. La carpeta que utilitzarà depèn del DPI del dispositiu, de manera que:

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

    Ara necessitem un fitxer XML que indiqui a Android quines imatges s’ha d’utilitzar per a l’animació i quina rapidesa pot circular per elles. Torneu al ZIP que heu baixat anteriorment i agafeu el 'frame_anim.xml' i copieu-lo a la carpeta 'res drawable' de l'APK descompilat.

    Si obriu el frame_anim.xml a Notepad ++, hauria de ser així:

     

    Cada línia comença per

    I, finalment, abans de poder recompilar el SystemUI.apk, hem de posar la nostra animació a la barra de navegació. Això és una mica complicat, ja que editarem el fitxer XML de disseny. A la majoria de les memòries ROM existents, el codi que controla la tecla programable de barra de navegació HOME es pot trobar a “layout navigation_bar.xml”, però també es pot trobar a “layout home.xml”. Heu de buscar això, depenent de la vostra ROM.

    Bàsicament, esteu cercant qualsevol fitxer XML de disseny que contingui el codi que tingui aquest aspecte:

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

    Sabreu que esteu al fitxer XML adequat quan vegeu línies que fan referència al fitxer botó_inici o similar. El que hem de fer és amagar-se aquesta tecla INICI, i poseu-ne una de nova de la mateixa mida, però invisible, i després els nostres marcs animats passaran per sota. En realitat, és molt fàcil, només necessitem FrameLayout codi .

     

    Si examineu aquest codi, veureu com tenim tres coses diferents apilades les unes sobre les altres. Però quan l’aplicació s’executi, no la veureu; tot el que veureu és el vostre GIF animat on hauria d’estar la tecla INICI a la barra de navegació.

    Per tant, tot el que heu de fer és substituir la línia de codi de tecles programables HOME pel codi FrameLayout anterior, però és possible que hàgiu de modificar-la per a la vostra ROM particular. Aquí cal una mica de prova i error.

    Recompilació l'APK i Flashing it

    Ara estem preparats per recompilar l'APK modificat. Simplement utilitzeu l'APK Easy Tool per tornar a compilar SystemUI.apk i llançar-lo en mode de recuperació al dispositiu. És important fer-ho en mode de recuperació, perquè heu d’esborrar la memòria cau de Dalvik o, en cas contrari, els nous fitxers smali que hem afegit no s’activaran.

    Si tot va bé, hauríeu de veure el vostre GIF animat com a nova clau d'inici de la barra de navegació.

    4 minuts de lectura