Slik bruker du en GIF som din Android Navbar Home Key

  • Hvordan dekompilere og tema Android APK-er
  • Hvordan deodexe APK-ene dine på lager-ROM-er
  • Krav:

    • En rotfestet Android-telefon (Appuals har mange Android-rotguider!)
    • Et APK-dekompileringsverktøy ( vi anbefaler APK enkelt verktøy )
    • En god kodeditor som Notisblokk ++

    Dekompilering av SystemUI.apk

    Det første du trenger å gjøre er å deodexere SystemUI.apk - du kan bruke et verktøy som Tickle My Android for dette. Les Appuals guide for deodexing APKs på denne prosessen.



    Det neste trinnet er å dekompilere SystemUI.apk, som krever en guide av seg selv hvis du aldri har gjort det før - heldigvis har Appuals ' Hvordan manuelt tema Android System UI ”Med dekompileringsinstruksjoner, så les det hvis du aldri har dekompilert en APK før.

    Legger til de SMALI-filer

    Nå må du legge til nye smali-filer - det er en pakke allerede modifiserte. Smali-filer for akkurat det vi trenger å gjøre tilgjengelig HER . Spesielt må du trekke ut 'SelfAnimatingImageView.smali' -filen fra .zip, og legge den til din dekompilerte APK i katalogen:



    SystemUI.apk  smali  com  android  morningstar 

    Du må opprette disse mappene hvis de ikke eksisterer.



    Del en GIF i rammer

    Nå må du finne en animert .gif du liker og vil bruke som navbar-startknapp. Du bør bruke en klistremerke gif, som du kan finne på Giphy.com/stickers - du vil legge merke til at de har gjennomsiktig bakgrunn som en PNG, men de er faktisk GIF-er.



    Når du har lagret et GIF-klistremerke du liker, må du konvertere det til en serie PNG-er. Dette er fordi vårt modifiserte SystemUI faktisk ikke kjører en innfødt .gif-fil, den vil spille PNG i sekvensiell rekkefølge. Så vi må dele .gif i sekvensielle PNG-er, heldigvis kan vi veldig enkelt gjøre dette med en online-omformer som EZGIF Split .

    Bare last opp GIF til EZGIF Split-verktøyet, velg 'Output images in PNG format' fra rullegardinmenyen Split Options, og det vil trekke ut alle rammene i sekvensiell rekkefølge. Deretter kan du laste ned rammene sammen i en ZIP-fil.



    Nå må du legge til PNG-rammene fra den delte GIF-en til din passende “ tegnes-xxxDPI ”-Mappen i den dekompilerte SystemUI apk-mappen. Mappen du vil bruke, avhenger av enhetens DPI, så:

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

    Nå trenger vi en XML-fil som instruerer Android hvilke bilder som skal brukes til animasjonen, og hvor raskt vi skal bla gjennom dem. Gå tilbake til ZIP du lastet ned tidligere, og ta tak i 'frame_anim.xml', og kopier den til 'res drawable' -mappen i den dekompilerte APK-en.

    Hvis du åpner frame_anim.xml i Notepad ++, skal det se slik ut:

     

    Hver linje begynner med

    Og til slutt, før vi kan kompilere SystemUI.apk på nytt, må vi sette animasjonen vår på navbar. Dette er litt vanskelig, siden vi redigerer XML-filen. På de fleste lager-ROM-er kan du finne koden som styrer HJEM-navigasjonstasten i 'layout navigation_bar.xml', men den kan også bli funnet i 'layout home.xml'. Du må jakte på dette, avhengig av ROM-en.

    I utgangspunktet ser du etter hvilken XML-fil som er utformet som inneholder koden som ser slik ut:

    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' />

    Du vet at du er i riktig XML-fil når du ser linjer som refererer til hjem-knapp eller liknende. Det vi trenger å gjøre er gjemme seg denne HJEM-nøkkelen, og sett en ny på plass som vil være av samme størrelse, men usynlig, og så vil våre animerte rammer gå under den. Dette er faktisk ganske enkelt, alt vi trenger er en FrameLayout kode .

     

    Hvis du undersøker denne koden, ser du hvordan vi har tre forskjellige ting stablet oppå hverandre. Men når appen kjører, vil du ikke se den - alt du ser er din animerte GIF der HJEMME-tasten skal være på navlinjen.

    Så alt du trenger å gjøre er å erstatte HOME-programtastelinjen med kode med FrameLayout-koden ovenfor, men du må kanskje tilpasse den for din spesielle ROM. Litt prøving og feiling er nødvendig her.

    Rekompilering APK-en og blinker den

    Nå er vi klare til å kompilere den moddede APK-en på nytt. Bare bruk APK Easy Tool til å kompilere SystemUI.apk på nytt, og blinke det i gjenopprettingsmodus på enheten. Det er viktig å gjøre dette i gjenopprettingsmodus, fordi du må tørke Dalvik-hurtigbufferen, ellers vil de nye smali-filene vi la til ikke bli aktivert.

    Hvis alt går bra, bør du se den animerte GIF-en din som din nye navbar-startsnøkkel!

    4 minutter lest