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

Някои блестящи умове от Android общността измислиха как да модифицират навигационния си панел, за да използват анимиран .gif като свой домашен ключ, а Appuals има ръководството да го направи!

Предупреждение: Това е доста замесен процес. Трябва да декомпилирате своя SystemUI.apk, да се объркате с някои важни файлове и да го прекомпилирате отново заедно. Направете резервно копие на вашия SystemUI.apk в случай, че нещо се обърка!

Свързани ръководства за Appuals:

  • Как да използвате ръчно темата Android System UI
  • Как да декомпилирате и тематично Android APK
  • Как да декодирате вашите APK файлове на ROM ROM

Изисквания:

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

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

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

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

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

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

 SystemUI.apk \ smali \ ком \ Android \ Морнингстар \ 

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

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

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

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

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

Сега трябва да добавите PNG кадрите от разделения GIF към вашата подходяща папка „ dravable-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 \ dravable“ в декомпилирания 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 = "център" android: contentDescription = "@ string / accessibility_home" systemui: keyCode = "3" /> 

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

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

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

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

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

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

Интересни Статии