Jak używać GIF-a jako klucza Home paska nawigacyjnego systemu Android

Niektóre genialne umysły w społeczności Androida wymyśliły, jak zmodyfikować pasek nawigacyjny, aby używać animowanego .gif jako klucza domowego, a Appuals ma do tego przewodnik!

Ostrzeżenie: jest to dość zaangażowany proces. Musisz zdekompilować plik SystemUI.apk, zepsuć niektóre ważne pliki i ponownie skompilować z powrotem. Wykonaj kopię zapasową pliku SystemUI.apk na wypadek, gdyby coś poszło nie tak!

Powiązane przewodniki Appuals:

  • Jak ręcznie motywować interfejs systemu Android
  • Jak dekompilować i motywować aplikacje dla Androida
  • Jak deodeksować swoje pliki APK na standardowych pamięciach ROM

Wymagania:

  • Zrootowany telefon z Androidem (Appuals ma wiele przewodników po rootowaniu na Androida!)
  • Narzędzie do dekompilacji APK ( zalecamy APK Easy Tool)
  • Dobry edytor kodu, taki jak Notepad ++

Dekompilacja pliku SystemUI.apk

Pierwszą rzeczą, którą musisz zrobić, to odkodować swój plik SystemUI.apk - możesz do tego użyć narzędzia takiego jak Tickle My Android. Przeczytaj Przewodnik Appuals dotyczący deodeksowania plików APK w tym procesie.

Następnym krokiem jest dekompilacja pliku SystemUI.apk, który wymaga samodzielnego przewodnika, jeśli nigdy wcześniej tego nie robiłeś - na szczęście Appuals ma „Jak ręcznie motywować interfejs systemu Android” z instrukcjami dekompilacji, więc przeczytaj, jeśli nigdy wcześniej nie dekompilowałem APK.

Dodawanie plików SMALI

Teraz musisz dodać nowe pliki smali - istnieje już pakiet zmodyfikowanych plików .smali dla dokładnie tego, co musimy zrobić, dostępne TUTAJ. W szczególności musisz wyodrębnić plik „SelfAnimatingImageView.smali” z .zip i dodać go do zdekompilowanego pliku APK w katalogu:

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

Musisz utworzyć te foldery, jeśli nie istnieją.

Dzielenie GIF-a na ramki

Teraz musisz znaleźć animowany plik .gif, który Ci się podoba i którego chcesz użyć jako przycisku głównego paska nawigacyjnego. Powinieneś użyć naklejki gif, którą można znaleźć na Giphy.com/stickers - zauważysz, że mają przezroczyste tło, takie jak PNG, ale w rzeczywistości są to GIF-y.

Po zapisaniu naklejki GIF, którą lubisz, musisz przekonwertować ją na serię plików PNG. Wynika to z faktu, że nasz zmodyfikowany SystemUI nie uruchomi natywnego pliku .gif, odtworzy pliki PNG w kolejności sekwencyjnej. Musimy więc podzielić plik .gif na sekwencyjne pliki PNG, na szczęście możemy to łatwo zrobić za pomocą konwertera online, takiego jak EZGIF Split.

Po prostu prześlij swój GIF do narzędzia Podziel EZGIF, wybierz „Wyjście obrazów w formacie PNG” z menu rozwijanego Opcje podziału, a wyodrębni wszystkie klatki w kolejności sekwencyjnej. Następnie możesz pobrać ramki razem w pliku ZIP.

Teraz musisz dodać ramki PNG ze podzielonego pliku GIF do odpowiedniego folderudrawable-xxxDPI ” w zdekompilowanym folderze SystemUI apk. Używany folder zależy od DPI urządzenia, więc:

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

Teraz potrzebujemy pliku XML, który instruuje Androida, jakich obrazów użyć do animacji i jak szybko je przełączać. Wróć do wcześniej pobranego pliku ZIP i chwyć plik „frame_anim.xml” i skopiuj go do folderu „res \ drawable” w zdekompilowanym pliku APK.

Jeśli otworzysz frame_anim.xml w Notepad ++, powinien on wyglądać następująco:

Każda linia zaczyna się od

I wreszcie, zanim będziemy mogli ponownie skompilować plik SystemUI.apk, musimy umieścić naszą animację na pasku nawigacyjnym. Jest to trochę trudne, ponieważ będziemy edytować plik XML układu. W większości standardowych ROM-ów kod kontrolujący klawisz programowy paska nawigacyjnego HOME można znaleźć w „layout \ navigation_bar.xml”, ale można go również znaleźć w „layout \ home.xml”. Musisz poszukać tego, w zależności od swojej pamięci ROM.

Zasadniczo szukasz dowolnego pliku XML układu, który zawiera kod, który wygląda następująco:

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

Będziesz wiedział, że masz odpowiedni plik XML, gdy zobaczysz wiersze, które odnoszą się do przycisku home_button lub podobnego. To, co musimy zrobić, to ukryć ten klawisz HOME i umieścić nowy na swoim miejscu, który będzie tego samego rozmiaru, ale niewidoczny, a następnie nasze animowane klatki przejdą pod niego. To jest naprawdę dość łatwe, wszystko czego potrzebujemy to kod FrameLayout .

Jeśli przyjrzysz się temu kodowi, zobaczysz, jak mamy trzy różne rzeczy ułożone jeden na drugim. Ale gdy aplikacja jest uruchomiona, jej nie zobaczysz - zobaczysz tylko animowany plik GIF, w którym klawisz HOME powinien znajdować się na pasku nawigacyjnym.

Więc wszystko, co musisz zrobić, to zastąpić wiersz kodu przycisku programowego HOME powyższym kodem FrameLayout, ale może być konieczne dostosowanie go do konkretnej pamięci ROM. Konieczna jest tutaj odrobina prób i błędów.

Ponowna kompilacja pliku APK i flashowanie

Teraz jesteśmy gotowi ponownie skompilować zmodyfikowany plik APK. Wystarczy użyć narzędzia APK Easy Tool, aby ponownie skompilować plik SystemUI.apk i flashować go w trybie odzyskiwania na urządzeniu. Ważne jest, aby to zrobić w trybie odzyskiwania, ponieważ musisz wyczyścić pamięć podręczną Dalvik, w przeciwnym razie nowe pliki smali, które dodaliśmy, nie zostaną aktywowane.

Jeśli wszystko pójdzie dobrze, powinieneś zobaczyć animowany plik GIF jako nowy klucz domowy paska nawigacyjnego!

Ciekawe Artykuły