Как да използвате GIF като начален ключ за Android Navbar

  • Как да декомпилирам и тематизирам APK файлове за Android
  • Как да деодексирате вашите APK файлове на стокови ROM
  • Изисквания:

    • Вкоренен телефон с Android (Appuals има много ръководства за корен на Android!)
    • Инструмент за декомпилиране на APK ( Препоръчваме APK Лесен инструмент )
    • Един добър редактор на кодове като Notepad ++

    Декомпилиране на вашия SystemUI.apk

    Първото нещо, което трябва да направите, е да деодексирате вашия SystemUI.apk - можете да използвате инструмент като Tickle My Android за това. Прочетете Appuals ръководство за деодексиране на APK файлове в този процес.



    Следващата стъпка е да декомпилирате SystemUI.apk, който изисква ръководство само по себе си, ако никога досега не сте го правили - за щастие Appuals е „ Как да ръчно тематизирате потребителския интерфейс на системата Android ”С инструкции за декомпилиране, така че прочетете, ако никога досега не сте декомпилирали APK файл.

    Добавяне на SMALI файлове

    Сега трябва да добавите нови smali файлове - има пакет от вече модифицирани .smali файлове за точно това, което трябва да направим на разположение ТУК . По-конкретно, трябва да извлечете файла „SelfAnimatingImageView.smali“ от .zip и да го добавите към вашия декомпилиран APK в директорията:



    SystemUI.apk  smali  com  android  morningstar 

    Ще трябва да създадете тези папки, ако те не съществуват.



    Разделяне на GIF в рамки

    Сега трябва да намерите анимиран .gif, който харесвате и искате да използвате като бутон за начало на навигационната лента. Трябва да използвате a стикер gif, както можете да намерите на Giphy.com/stickers - ще забележите, че те имат прозрачен фон като PNG, но всъщност са GIF файлове.



    След като запазите стикер GIF, който харесвате, трябва да го конвертирате в поредица PNG файлове. Това е така, защото нашият модифициран SystemUI всъщност няма да изпълнява собствен .gif файл, той ще възпроизвежда PNG в последователен ред. Така че трябва да разделим .gif на последователни PNG файлове, за щастие можем много лесно да направим това с онлайн конвертор като EZGIF Сплит .

    Просто качете своя GIF в инструмента за разделяне на EZGIF, изберете „Извеждане на изображения в PNG формат“ от падащото меню Split Options и той ще извлече всички кадри в последователен ред. След това можете да изтеглите кадрите заедно в ZIP файл.



    Сега трябва да добавите PNG рамки от разделения GIF към вашия подходящ “ drawable-xxxDPI Папка във вашата декомпилирана apk папка SystemUI. Папката, която ще използвате, зависи от DPI на вашето устройство, така че:

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

    Сега се нуждаем от XML файл, който инструктира Android кои изображения да се използват за анимация и колко бързо да се движат през тях. Върнете се към ZIP, който сте изтеглили по-рано, и вземете “frame_anim.xml” и го копирайте във вашата папка “res drawable” в декомпилирания APK файл.

    Ако отворите frame_anim.xml в Notepad ++, той трябва да изглежда така:

     

    Всеки ред, започващ с

    И накрая, преди да можем да рекомпилираме SystemUI.apk, трябва да поставим нашата анимация в лентата за навигация. Това е малко сложно, тъй като ще редактираме XML файла на оформлението. В повечето ROM дискове кодът, който контролира функционалния бутон за навигация HOME, може да бъде намерен в „layout navigation_bar.xml“, но може да бъде намерен и в „layout home.xml“. Трябва да преследвате това, в зависимост от вашия ROM.

    По принцип търсите кой XML файл с оформление съдържа кода, който изглежда така:

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

    Ще разберете, че сте в правилния XML файл, когато видите редове, които препращат към бутон за дома или подобен. Това, което трябва да направим, е Крия този HOME ключ и поставете нов на негово място, който ще бъде със същия размер, но невидим и тогава нашите анимирани рамки ще отидат под него. Това всъщност е доста лесно, всичко, от което се нуждаем, е a FrameLayout код .

     

    Ако разгледате този код, ще видите как имаме три различни неща, подредени едно върху друго. Но когато приложението работи, няма да го видите - всичко, което ще видите, е вашият анимиран GIF, където ключът HOME трябва да бъде в лентата за навигация.

    Така че всичко, което трябва да направите, е да замените реда на програмния бутон HOME с кода на FrameLayout по-горе, но може да се наложи да го промените за вашия конкретен ROM. Тук са необходими малко проби и грешки.

    Прекомпилиране APK и го мига

    Сега сме готови да прекомпилираме модифицирания APK. Просто използвайте APK Easy Tool, за да прекомпилирате SystemUI.apk и да го мигате в режим на възстановяване на вашето устройство. Важно е да направите това в режим на възстановяване, защото трябва да изтриете кеша на Dalvik, иначе новите smali файлове, които добавихме, няма да бъдат активирани.

    Ако всичко върви добре, трябва да видите анимирания си GIF като новия ключ за начало на навигационната лента!

    4 минути четене