Как использовать GIF в качестве домашней клавиши Android Navbar —

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

Предупреждение: это довольно сложный процесс. Вам нужно декомпилировать ваш SystemUI.apk, связываться с некоторыми важными файлами и перекомпилировать его вместе. Сделайте резервную копию вашего SystemUI.apk на случай, если что-то пойдет не так!

Связанные руководства Appuals:

  • Как вручную оформить тему Android System UI
  • Как декомпилировать и тематические Android APK
  • Как деодексировать ваши APK на стоковые ROM

Требования:

  • Укоренившийся телефон Android (у Appuals есть множество руководств по Android!)
  • Инструмент для декомпиляции APK (мы рекомендуем APK Easy Tool)
  • Хороший редактор кода, такой как Notepad ++

Декомпиляция вашего SystemUI.apk

Первое, что вам нужно сделать, это деодексировать ваш SystemUI.apk — для этого вы можете использовать такой инструмент, как Tickle My Android. Прочтите Руководство по деодексированию APK для этого процесса.

Следующим шагом является декомпиляция SystemUI.apk, который требует отдельного руководства, если вы никогда не делали этого раньше — к счастью, у Appuals есть «Как вручную оформить пользовательский интерфейс системы Android» с инструкциями по декомпиляции, так что прочитайте, если вы Я никогда не декомпилировал APK.

Добавление SMALI файлы

Теперь вам нужно добавить новые файлы smali — там есть пакет уже измененных файлов .smali для того, что нам нужно сделать, ЗДЕСЬ. В частности, вам нужно извлечь файл «SelfAnimatingImageView.smali» из .zip и добавить его в декомпилированный APK в каталоге:

SystemUI.apk \ smali \ ком \ Android \ шестопер \

Вам нужно будет создать эти папки, если они не существуют.

Разделение GIF на кадры

Теперь вам нужно найти анимированный .gif, который вам нравится и который вы хотите использовать в качестве домашней кнопки navbar. Вы должны использовать наклейка GIF, как вы можете найти на Giphy.com/stickers — вы заметите, что они имеют прозрачный фон, как PNG, но на самом деле это GIF-файлы.

После того, как вы сохранили понравившийся вам стикер GIF, вам необходимо преобразовать его в серию PNG. Это потому, что наш модифицированный SystemUI на самом деле не будет запускать собственный файл .gif, он будет воспроизводить PNG в последовательном порядке. Поэтому нам нужно разделить .gif на последовательные PNG, к счастью, мы можем очень легко сделать это с помощью онлайн-конвертера, такого как EZGIF Split.

Просто загрузите свой GIF в инструмент разделения EZGIF, выберите «Вывод изображений в формате PNG» в раскрывающемся меню «Параметры разделения», и он извлечет все кадры в последовательном порядке. Затем вы можете скачать кадры вместе в ZIP-файл.

Теперь вам нужно добавить PNG-кадры из разделенного GIF-файла в соответствующийрисуем-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-файл макета. В большинстве стандартных ПЗУ код, управляющий программной клавишей HOME navbar, можно найти в «layout \ navigation_bar.xml», но его также можно найти в «layout \ home.xml». Вы должны охотиться вокруг этого, в зависимости от вашего ROM.

По сути, вы ищете любой XML-файл макета, содержащий код, который выглядит следующим образом:

андроид: идентификатор = "@ идентификатор / 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, и поместите на его место новый, который будет того же размера, но невидимым, и тогда наши анимированные кадры перейдут под него. Это на самом деле довольно легко, все, что нам нужно, это FrameLayout код.


Если вы изучите этот код, вы увидите, как у нас есть три разные вещи, сложенные друг на друга. Но когда приложение запущено, вы его не увидите — все, что вы увидите, это ваш анимированный GIF, где клавиша HOME должна быть на навигационной панели.

Поэтому все, что вам нужно сделать, это заменить строку кода функциональной клавиши HOME приведенным выше кодом FrameLayout, но вам может потребоваться настроить его для вашего конкретного ПЗУ. Немного проб и ошибок здесь необходимо.

Пересобираем APK и перепрошивка

Теперь мы готовы перекомпилировать модовый APK. Просто используйте APK Easy Tool для перекомпиляции SystemUI.apk и прошейте его в режиме восстановления на вашем устройстве. Это важно сделать в режиме восстановления, поскольку вам нужно стереть кэш Dalvik, иначе добавленные нами новые файлы smali не будут активированы.

Если все идет хорошо, вы должны увидеть свой анимированный GIF-файл в качестве новой домашней клавиши navbar!

Ссылка на основную публикацию
Adblock
detector