R
RATTAR
Gast
HOWTO Iconpack für Apex-Launcher und Co. Erstellen
Diese Anleitung erhebt nicht den Anspruch auf Vollständigkeit wird aber bei neuen Erkenntnissen berichtigt oder ergänzt.
In dieser Anleitung möchte ich meine Erfahrungen und Wissen beim Erstellen von Iconpacks bzw. Themes für den Apex-Launcher weitergeben.
Die Einrichtung einer funktionierenden Programm-Umgebung ist nicht Bestandteil des Tutorials.
Wie diese zu etablieren ist, ist auf dieser Website ganz gut beschrieben:
Android Eclipse Entwicklungsumgebung einrichten | killoverhead
Ist diese eingerichtet, lädst du dir das Apex Icon Pack Sample von der Seite auf xda herunter.
Am besten ist du wählst als Ordner-Namen einen einprägsamen Hauptordner wie Launchertemplates.
Jetzt öffnest du die ZIP mit z.B. 7zip und kopierst die gesamte Ordner-Struktur als Unterordner in den Hauptordner Launchertemplates.
Öffne Eclipse und lege bei dem Start einen separaten Workbench an.
Dazu geht du auf Browse > ein Fenster öffnet sich wo du einen neuen Ordner namens Themes anlegst.
In diesen Ordner erstellst du eine Unterordner mit dem Namen des zukünftigen Themes.
Anschließend öffnest du Eclipse vollständig.
Erstmal wird dich ein leeres Projekt begrüßen.
Du klickst jetzt mit der echten Maustaste im Projekt-Fenster und wählst Import > Import > Android > Existing Android Code Into Workspace.
Ein Fenster öffnet sich, dort wählst du das Verzeichnis aus in das du vorher dein Template entpackst hast.
Der Ordner der das Template beinhaltet heißt wahrscheinlich ApexThemeTemplate.
Ok drücken und jetzt ganz wichtig setze den Haken in diesem Fenster bei Copy projects into workspace.
Machst du das nicht, wird dir spätestens beim erneuten Öffnen deines Projektes deine ganze Arbeit unbrauchbar gemacht da der fehlende Haken dazu führt, das das Verzeichnis mit dem Template zur Workbench wird und dir das Template überschrieben wird.
Jetzt drückst du auf Finish.
Im Package Explorer siehst du jetzt einen Ordner mainActivity genannt, diesen öffnest du.
Der Unterordner src muss jetzt geöffnet werden.
Ein Symbol das aussieht wie ein Päckchen ist zu sehen. Dieses klickst du mit Rechtsklick an und wählst dort den Punkt Refactor > Rename.
Hier gibt du den Namen deines Packages ein. z.B. com.bleistiel.bleistiel.
Markiere und kopiere dir den gewählten Package-Namen. Er wird gleich noch mal benötigt. Erst dann bestätige mit OK.
Jetzt öffnest du die Datei AndroidManifest.xml, oben bei Package fügst den vorher kopierten Package-Namen ein. Also com.bleistiel.bleistiel.
Im Prinzip müsste damit das Theme fertig bearbeitbar sein.
Dein Projekt wird kompiliert wenn du in den Package-Explorer gehst, rechte Maustaste > Export > Android > Export Android Application.
Dabei legst du noch einen Keystore an (eigentlich nur wichtig für den Playstore) und arbeitest dich durch die Menüs.
Der Name der App ist eigentlich egal, sie wird über den Package-Namen identifiziert. Hauptsache sie heißt meinetwegen bleistiel.apk.
Sie könnte aber auch rumburak.apk oder noname.apk heißen das ist für die Installation egal.
Android identifiziert die App über den Package-Namen und den Keystore.
Bearbeitungstricks und zusätzliche Werkzeuge
Werkzeuge:
- Notepad++
- Xnview
- Excel oder MS Access
Icon-Erstellung
Für die Icon-Erstellung ist es hilfreich sich einen separaten Ordner zu erstellen der erstmal vom Projekt getrennt ist. In diesem werden alle zu erstellenden Icons gespeichert.Die Icons sollten ein Mindestformat von 72 x 72 Pixeln haben. Größere Formate sind jederzeit möglich, verschlingen aber irgendwann viel Speicher auf dem Handy.
Nicht erlaubt in Icon-Bezeichnungen sind Sonderzeichen wie Punkte und Großschreibung.
Icons müssen grundsätzlich im png-Format vorliegen.
Ich persönlich bevorzuge bei der Benennung der Icons ihren geschriebenen Namen, da dadurch eine saubere Sortierung der Icons im Austausch-Schirm möglich ist.
Wird der Activity-Name verwendet, werden die Icon alphanumerisch sortiert.
Das heißt alle com.xxx.xxx-Activities sind vor de.xxx.xxx-Activities einsortiert. Das erschwert den Austausch der Icons ungemein.
Generierung einer iconpack.xml
Sind alle Icons im separaten Arbeitsordner erstellt, öffnet wir diesen mit xnview, markieren alle Icons, gehen auf Erstellen > Dateiliste. Nur der Dateiname und in Zwischenablage kopieren darf aktiviert sein und erstellen eine Dateiliste.
Diese kopieren wir nach Excel oder Calc in die zweite Spalte B. In der Tabellenkalkulation ersetzen den Teilstring .png durch den Teilstring </item>. In die Spalte A geben wir <item> ein und ziehen diesen Eintrag soweit runter das überall vor der Spalte B mit Texteinträgen, der Texteintrag <item> erscheint. Jetzt kopieren wir das fertige Tabellenblatt in die Zwischenablage und öffnen Notepad++.
In Notepad++ legen wir ein leeres Textdokument an und ersetzen wir durch STRG+H > \t im Suchfeld und „kein Zeichen“ im Ersetzen-Feld alle unnötigen Tabulatoren.
Dasselbe wiederholen wir mit unnötigen Leerzeichen.
Wenn wir schon mal dabei sind stellen wir über Bearbeiten > Zeilenende den Text auf Linux-Format um.
Der fertige Text wird in die Zwischenablage kopiert.
Jetzt öffnen wir in unserem Projekt-Ordner von Eclipse die Datei iconpack.xml und fügen das soeben erstellte zwischen den Einträgen <string-array name="icon_pack" translatable="true"> und </string-array> wieder ein.
Wird so vorgegangen kann eigentlich kein Icon der später über die Long-Press-Funktion des Launchers ausgetauscht werden soll verloren gehen.
Tipps zum Umgang mit der appfilter.xml im Unterordner xml des Projektes
Einige Vorbemerkungen zur appfilter.xml Die appfilter_xml enthält die Activities der direkt darstellbaren Icons im App-Drawer und dem Desktop.
Sie ist also die wichtigste Datei im ganzen Iconpack.
Ist eine Activity unbekannt oder verkehrt geschrieben, wird der in der Anwendung hinterlegte Standard-Icon verwendet.
Befinden sich im XML-Syntax Fehler wird das Iconpack zwar in der Regel erstellt.
Aber ab dem Punkt mit dem Syntax-Error können die Launcher die Daten der appfilter.xml nicht mehr lesen und verwenden ab da den Standard-Icon der darzustellenden Anwendungen anstatt des hinterlegten Custom-Icons.
Um Syntax-Fehler zu vermeiden hat sich bei mir bewährt die Einträge in dem Format:
<item component="ComponentInfo{com.android.chrome/com.android.chrome.Main}"[TAB]drawable="chrome"/>
anzulegen.So muß bei der Bearbeitung der XML nur der Icon-Name chrome richtig abgegeben werden.
Und zwischen den geschweiften Klammern die Activity sauber eingegeben werden.
Ein weiterer Vorteil dieser Methode ist, wenn alle Activity-Einträge markiert und in die Zwischenablage kopiert werden.
Diese wieder in Calc oder Excel eingefügt werden können und über die Sortier-Funktion der Tabellenkalkulation geordnet werden können.
So können Dubletten bei der Erfassung von Activities vermieden werden.
Wer sich mit Access oder einer anderen relationalen Datenbank auskennt kann über eine entsprechende Abfrage (Gruppierung-Funktion) Dubletten automatisch aussortieren lassen.
Zuletzt bearbeitet von einem Moderator: