Як використовувати GIF як домашній ключ Android Navbar

Деякі геніальні розуми в Android-спільноті з'ясували, як змінити свій навібар, щоб використовувати анімований .gif як свій домашній ключ, і Appuals має посібник для цього!

Попередження: Це досить залучений процес. Вам потрібно декомпілювати ваш SystemUI.apk, зіпсувати деякі важливі файли та перекомпілювати його знову разом. Зробіть резервну копію вашого SystemUI.apk, якщо щось піде не так!

Супутні посібники з присадок:

  • Як користувальницький інтерфейс системи Android вручну
  • Як декомпілювати та тематичні Android APK
  • Як розшифрувати свої APK-файли на біржових дисках

Вимоги:

  • Вкорінений Android-телефон (Appuals має безліч кореневих посібників Android!)
  • Інструмент розгортання APK ( ми рекомендуємо Easy Tool APK)
  • Хороший редактор коду, як Notepad ++

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

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

Наступним кроком є ​​декомпіляція SystemUI.apk, який вимагає керівництва сам по собі, якщо ви ніколи цього не робили раніше - на щастя, Appuals має "Як вручну користуватися темою Android System UI" з інструкціями щодо декомпіляції, тому дайте прочитати, якщо ви Ви ніколи не декомпілювали APK.

Додавання файлів SMALI

Тепер вам потрібно додати нові файли smali - є пакет уже модифікованих .smali файлів для того, що саме нам потрібно зробити, доступні ТУТ. Зокрема, вам слід витягнути файл "SelfAnimatingImageView.smali" з .zip та додати його до свого декомпільованого APK у каталозі:

 SystemUI.apk \ smali \ com \ android \ morningstar \ 

Вам потрібно буде створити ці папки, якщо вони не існують.

Розбиття GIF на кадри

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

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

Просто завантажте свій GIF у інструмент розділення EZGIF, у спадному меню Спліт Параметри виберіть "Вивести зображення у форматі PNG", і він витягне всі кадри в послідовному порядку. Потім ви можете завантажити кадри разом у файл 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 у Блокноті ++, це має виглядати приблизно так:

Кожен рядок, що починається з

І нарешті, перш ніж ми зможемо перекомпілювати SystemUI.apk, нам потрібно помістити нашу анімацію на панель навігації. Це трохи хитро, оскільки ми будемо редагувати файл XML-макета. У більшості ROM-дисків код, який керує програмною клавішею НАВЧАЛЬНОГО НАВЧАЛЬНОГО клавіші, можна знайти в "layout \ navigation_bar.xml", але він також може бути знайдений у "layout \ home.xml". Для цього вам потрібно полювати навколо, залежно від вашого ПЗУ.

В основному, ви шукаєте, який би макет 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 чи подібні. Що нам потрібно зробити, це приховати цей ДОМАШНИЙ ключ, а на його місце покласти новий, який буде такого ж розміру, але невидимий, і тоді наші анімовані кадри пройдуть під ним. Це насправді досить просто, все, що нам потрібно, це код FrameLayout .

Якщо ви вивчите цей код, ви побачите, як у нас три різні речі, складені один на одного. Але коли програма запущена, ви її не побачите - все, що ви побачите, - це анімований GIF, де на навігаційній панелі має бути клавіша HOME.

Отже, все, що вам потрібно зробити, це замінити рядок кодової клавіші HOME на код FrameLayout вище, але вам може знадобитися налаштувати її для вашого конкретного ПЗУ. Тут потрібно трохи спроб та помилок.

Перекомпіляція APK та миготіння

Тепер ми готові перекомпілювати модифікований APK. Просто скористайтеся інструментом APK Easy, щоб перекомпілювати SystemUI.apk та пропустити його у режимі відновлення на своєму пристрої. Це важливо зробити в режимі відновлення, оскільки вам потрібно витерти кеш Dalvik, інакше нові файли smali, які ми додали, не активуються.

Якщо все піде добре, ви повинні бачити свій анімований GIF як новий домашній ключ навігації!

Цікаві Статті