So verwenden Sie ein GIF als Android Navbar-Starttaste

Einige brillante Köpfe in der Android-Community haben herausgefunden, wie Sie Ihre Navigationsleiste so ändern können, dass sie ein animiertes .gif als Startschlüssel verwendet. Appuals hat die Anleitung dafür!

Warnung: Dies ist ein ziemlich komplizierter Prozess. Sie müssen Ihre SystemUI.apk dekompilieren, mit einigen wichtigen Dateien herumspielen und sie wieder zusammenbauen. Erstellen Sie ein Backup Ihrer SystemUI.apk, falls etwas schief geht!

Verwandte Anwendungshandbücher:

  • Manuelles Theming der Android-System-Benutzeroberfläche
  • Wie man Android APKs dekompiliert und thematisiert
  • Wie du deine APKs auf Standard-ROMs desodexierst

Bedarf:

  • Ein verwurzeltes Android-Handy (Appuals hat viele Android-Wurzelhandbücher!)
  • Ein APK Dekompilierungswerkzeug ( wir empfehlen APK Easy Tool)
  • Ein guter Code-Editor wie Notepad ++

Dekompilieren Sie Ihre SystemUI.apk

Das erste, was Sie tun müssen, ist, Ihre SystemUI.apk zu desodexen - Sie können dafür ein Tool wie Tickle My Android verwenden. Lesen Sie den Appuals-Leitfaden zum Deodexen von APKs zu diesem Vorgang.

Der nächste Schritt ist das Dekompilieren der Datei SystemUI.apk, für die eine eigene Anleitung erforderlich ist, falls Sie dies noch nie zuvor getan haben. Zum Glück enthält Appuals Anweisungen zum manuellen Entwerfen der Android-System-Benutzeroberfläche habe noch nie eine APK dekompiliert.

Hinzufügen der SMALI-Dateien

Jetzt müssen Sie neue SMALI-Dateien hinzufügen - es gibt ein Paket bereits geänderter SMALI-Dateien für genau das, was wir tun müssen, HIER. Insbesondere müssen Sie die Datei "SelfAnimatingImageView.smali" aus der ZIP-Datei extrahieren und zu Ihrer dekompilierten APK im folgenden Verzeichnis hinzufügen:

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

Sie müssen diese Ordner erstellen, wenn sie nicht vorhanden sind.

Aufteilen eines GIF in Frames

Jetzt müssen Sie eine animierte .gif-Datei finden, die Ihnen gefällt und die Sie als Startschaltfläche für die Navigationsleiste verwenden möchten. Sie sollten ein Aufkleber-GIF verwenden, wie Sie es auf Giphy.com/stickers finden - Sie werden feststellen, dass sie transparente Hintergründe wie ein PNG haben, aber es sind tatsächlich GIFs.

Sobald Sie ein beliebiges Sticker-GIF gespeichert haben, müssen Sie es in eine Reihe von PNGs konvertieren. Dies liegt daran, dass unsere modifizierte SystemUI keine native GIF-Datei ausführt, sondern PNGs in sequentieller Reihenfolge abspielt. Also müssen wir das .gif in sequentielle PNGs aufteilen, zum Glück können wir dies mit einem Online-Konverter wie EZGIF Split sehr einfach tun.

Laden Sie einfach Ihr GIF in das EZGIF-Split-Tool hoch, wählen Sie im Dropdown-Menü „Split-Optionen“ die Option „Bilder im PNG-Format ausgeben“, und alle Bilder werden nacheinander extrahiert. Anschließend können Sie die Frames zusammen in einer ZIP-Datei herunterladen.

Jetzt müssen Sie die PNG-Frames aus dem geteilten GIF zu Ihrem entsprechenden Ordner " drawable-xxxDPI " in Ihrem dekompilierten SystemUI-apk-Ordner hinzufügen. Der Ordner, den Sie verwenden, hängt von der DPI Ihres Geräts ab.

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

Jetzt benötigen wir eine XML-Datei, die Android anweist, welche Bilder für die Animation verwendet werden sollen und wie schnell sie durchlaufen werden sollen. Kehren Sie zu der zuvor heruntergeladenen ZIP-Datei zurück, greifen Sie auf die Datei „frame_anim.xml“ zu und kopieren Sie sie in Ihren Ordner „res \ drawable“ in der dekompilierten APK.

Wenn Sie die Datei frame_anim.xml in Notepad ++ öffnen, sollte sie folgendermaßen aussehen:

Jede Zeile beginnend mit

Und bevor wir die Datei "SystemUI.apk" neu kompilieren können, müssen wir unsere Animation in der Navigationsleiste ablegen. Dies ist etwas schwierig, da wir die Layout-XML-Datei bearbeiten. In den meisten Standard-ROMs befindet sich der Code zur Steuerung des HOME-Navigationsleisten-Softkeys in „layout \ navigation_bar.xml“, möglicherweise jedoch auch in „layout \ home.xml“. Je nach ROM müssen Sie danach suchen.

Grundsätzlich suchen Sie nach der Layout-XML-Datei, die den folgenden Code enthält:

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

Sie werden wissen, dass Sie sich in der richtigen XML-Datei befinden, wenn Sie Zeilen sehen, die auf die home_button oder ähnliches verweisen . Was wir tun müssen, ist diesen HOME-Schlüssel zu verstecken und einen neuen an seine Stelle zu setzen, der dieselbe Größe, aber unsichtbar hat, und dann werden unsere animierten Rahmen darunter gehen. Das ist eigentlich ganz einfach, wir brauchen nur einen FrameLayout- Code .

Wenn Sie diesen Code untersuchen, werden Sie feststellen, dass drei verschiedene Dinge übereinander gestapelt sind. Wenn die App ausgeführt wird, wird sie nicht angezeigt. Sie sehen lediglich Ihr animiertes GIF, in dem sich die HOME-Taste in der Navigationsleiste befinden sollte.

Sie müssen also nur die HOME-Softkey-Codezeile durch den obigen FrameLayout-Code ersetzen. Möglicherweise müssen Sie sie jedoch für Ihr bestimmtes ROM anpassen. Ein bisschen Versuch und Irrtum ist hier notwendig.

APK neu kompilieren und flashen

Jetzt können wir die modifizierte APK neu kompilieren. Verwenden Sie einfach das APK Easy Tool, um die Datei SystemUI.apk neu zu kompilieren und im Wiederherstellungsmodus auf Ihrem Gerät zu flashen. Es ist wichtig, dies im Wiederherstellungsmodus zu tun, da Sie den Dalvik-Cache löschen müssen, da sonst die neu hinzugefügten SMALI-Dateien nicht aktiviert werden.

Wenn alles gut geht, sollten Sie Ihr animiertes GIF als Ihren neuen Navbar-Startschlüssel sehen!

Interessante Artikel