Theming 101 - Starten Sie Ihre RRO-Ebenen-Entwicklungsphase

Das Theming auf Android ist seit den letzten Jahren enorm gewachsen. Zip-Modding-APKs und ähnliches haben eleganteren Lösungen wie RRO Layers und dem neu eingeführten Substratum Platz gemacht. Während letzteres neu und noch in einem frühen Stadium ist, hat RRO Layers in Bezug auf Popularität und Anpassungsfähigkeit einen rasanten Anstieg verzeichnet, wobei die Community einen aggressiven Beitrag zum Pool von Overlays geleistet hat.

Was sind RRO-Schichten?

Runtime Resource Overlay war eine von Sony intern entwickelte Lösung für das Funktionieren von Xperia Themes und für das schnelle Prototyping, die auf die eingeschränkten Theming-Fähigkeiten von Android Lollipop zurückzuführen war. Angesichts seines übermäßigen Potenzials bauten einige Entwickler aus der Community auf der Basis von Sony auf und entwickelten das RRO Layers Framework, das mit den meisten benutzerdefinierten und leicht modifizierten Standard-ROMs problemlos funktioniert.

Das Layers-Framework ersetzt, wie das Präfix "RRO" treffend angibt, die Ressourcen einer App zur Laufzeit. Entwickler können sich in das Framework einbinden und verschiedene Objekte wie Farbzeichenfolgen, Bemaßungen, von der App verwendete Ganzzahlwerte und sogar Zeichenobjekte thematisieren So können Power-User mühelos und präzise Themen-Apps auf ihrem Handy ausführen.

Anfangen

Aufgrund der Einfachheit, mit der das RRO-Framework arbeitet, ist das Austauschen von Ressourcen zur Laufzeit und das Erstellen von Layerthemen eine unkomplizierte und anspruchslose Aufgabe. Grundlegende Markup-Kenntnisse und eine allgemeine Vorstellung von Farbstrings sind lediglich erforderlich. Das und eine Handvoll Werkzeuge, und Sie sind auf dem Weg, etwas Schönes zu bauen.

Schritt 1: Einrichten Ihrer Build-Umgebung

Der eigentliche Prozess zum Erstellen eines Overlays erfordert eine Reihe von Tools, die alle kostenlos sind und in wenigen Minuten eingerichtet werden können. Die Liste enthält:

  • Android Studio
  • JDK
  • Texteditor wie Sublime Text oder Notepad ++
  • APKTool
  • Ebenen-Projektgenerator

Schritt 2: Generieren Sie ein Basisprojekt

Der Layers-Projektgenerator ist ein praktisches Tool, mit dem Sie den komplexesten Teil des Erstellens eines Overlays aus der Gleichung herausholen und ein neues Projekt konfigurieren können. Die kleine Software ist nur auf Windows beschränkt und verwendet eine Reihe von Parametern wie den Paketnamen der Ziel-App, den Namen des Autors, den Projektnamen und das Paketsymbol. Außerdem wird ein Gradle-fähiges Android Studio-Paket erstellt, mit dem Sie direkt auf die Website zugreifen können eigentlicher Theming-Prozess.

Schritt 3: Importieren Sie das Projekt in Android Studio

Starten Sie Android Studio - wenn es Ihr erstes Mal ist, müssen Sie es einrichten und auf die Option "Vorhandenes Android Studio-Projekt öffnen" klicken. Wählen Sie den generierten Ordner aus, der sich im Allgemeinen am selben Speicherort wie der Generator befindet, und importieren Sie ihn.

Schritt 4: Beenden Sie die Projekteinrichtung

Nun sollte das Android Studio-Projektfenster mit der Liste der Dateien im linken Bereich angezeigt werden. Die Standardansicht funktioniert bei uns nicht so gut, wählen Sie also die Projektansicht aus der Dropdown-Liste aus. Gradle, das bevorzugte Build-System von Android, ist jederzeit einsatzbereit und führt die endgültigen Konfigurations- und Verarbeitungsschritte aus. Gehen Sie anschließend zum Menü " Erstellen" und erstellen Sie das Projekt sicherheitshalber neu. Ignorieren Sie dabei alle eventuell angezeigten Gradle-Warnungen.

Schritt 5: Holen Sie sich Ihre Ressourcen

Um die Ressourcen einer Anwendung zu thematisieren, müssen Sie die Ressourcen-IDs in den Händen halten, die in den Ressourcendateien des ursprünglichen APK definiert sind. Wie kann man diese bekommen, fragen Sie? Natürlich APKTool. Das leistungsstarke Tool ermöglicht das Reverse Engineering von Anwendungsdateien, wobei das dekompilierte Projekt als Ausgabe ausgegeben wird. Während der Java-Code in seiner kleinen Form erhalten bleibt, werden Ressourcen genau so reproduziert, wie sie im Projekt vor der Kompilierung angezeigt werden. Wenn Sie eine apk dekompiliert haben, kopieren Sie die gewünschten Ressourcendateien an denselben Speicherort in Ihrem Projekt, z. B. colors.xml, um das Farbschema der Anwendung zu ändern.

Schritt 6: Thema, Thema, Thema

Jetzt können Sie mit dem Theming Ihres Overlays beginnen. Der Vorgang ist ziemlich unkompliziert, sobald Sie die Ressourcendateien der App haben. Der größte Aufwand besteht darin, einfach die entsprechende Ressource zu finden. Wenn beispielsweise die Primär- und Akzentfarben einer Anwendung geändert werden sollen, müssen die Ressourcen colorPrimary und colorAccent lokalisiert und ihre Hexadezimalwerte geändert werden. Sobald Sie fertig sind, müssen Sie nur noch die grüne Schaltfläche Ausführen in der Symbolleiste drücken, ein Gerät über ADB verbinden und das Overlay auf Ihrem Gerät installieren. Anschließend können Sie es in der Layers Manager-App aktivieren und Ihre Arbeit in Aktion sehen. Grundlegend, nicht wahr?

Anmerkungen

Der Theming-Prozess ist an sich sehr einfach, aber auf dem Weg kann es vorkommen, dass Sie einige Stolpersteine ​​entdecken, die Sie möglicherweise überraschen. Einige von ihnen zu achten sind -

Hex Color Strings

Wenn Sie mit dem Hex-Farbschema nicht vertraut sind, stehen online eine Reihe von Tools zur Verfügung, mit denen Sie eine Farbe aus einer Palette auswählen und einen entsprechenden Hex-Code wie HexColorTool und Adobe Kuler generieren können Generieren Sie eine Komplementärfarbe, wenn Sie nach einem colorAccent- Wert Ausschau halten . Kurz gesagt, das hexadezimale Farbschema definiert Farben in den Formaten #RRGGBB oder #RGB mit Werten von 00 bis ff, wobei die drei Grundfarben kombiniert werden, um eine bestimmte Farbe zu bilden. Gelegentlich können acht hexadezimale Zeichenfolgen auftreten, aber kein Bund, da die beiden zusätzlichen Zeichen Teil des Schemas sind und zur Angabe von Alpha (dem Transparenzwert der Farbe) in den Formaten #AARRGGBB oder # verwendet werden. ARGB.

Maßeinheiten

Um mehrere Bildschirmgrößen zu unterstützen, verwendet Android eine Maßeinheit namens dp oder dip, die Abkürzungen für dichteunabhängige Pixel sind . Diese Werte werden vom Framework zur Laufzeit in tatsächliche Pixelwerte umgewandelt und sind in der Größenordnung des Dichte-Buckets des Geräts, das dem Wert einen geeigneten Multiplikator zuweist.

Drawable Changes

Das Ändern von Zeichen ist ein scheinbar unkomplizierter Vorgang, bei dem nur ein Bild mit demselben Namen und derselben Größe erforderlich ist. Das Drawable Density-System von Android muss jedoch beachtet werden. Tools wie Android Asset Studio vereinfachen dies mit vordefinierten Drawable Sets und Optionen zur Größenänderung von Bildern.

Stilbearbeitung

Gelegentlich werden einige Attribute möglicherweise nicht in den jeweiligen Dateien gefunden. Einige Entwickler geben Werte wie Primär- und Akzentfarben direkt in das App-Design ein. Diese Attribute finden Sie in der Datei styles.xml, normalerweise unter der Gruppe AppTheme .

Interessante Overlays erstellen? Haben Sie eine Idee für ein verführerisches Thema? Lass es uns in den Kommentaren unten wissen!