- Forum-Beiträge: 3.192
04.03.2010, 16:35:56 via Website
04.03.2010 16:35:56 via Website
Was brauchen wir dafür:
ZipProgramm - Winrar z.B.
ColorChanger: http://forum.xda-developers.com/showthread.php?t=535630
Hexeditor - HxD halte ich für sehr gut und kostenlos
service.jar
framework-res.apk
Abschnitt 1: Vorbereitung
Als erstes brauchen wir eine Zip-Datei, die Ordnerstruktur in dem sollte folgendermaßen aussehen:
+ Zipfile
| + framework
| | - framework-res.apk
| | - services.jar
| + app
Dazu noch einen Ordner, in dem ihr alles mögliche rein und raus kopieren könnt, sonst wirds chaotisch aufm' Desktop
Wichtig: Die Datei colorChangev3.jar-remove-zip.zip umbenennen in colorChangev3.jar, und nicht auspacken!
Abschnitt 2: ColorChanger
ColorChanger ist ein Javaprogramm, dass während seiner Bearbeitung 'ne Menge Prozessorzeit und RAMspeicher frisst. Deswegen macht, solange wie das Teil was macht, einfach garnichts. ColorChange verfügt ausserdem keine GUI (Graphical User Interface - was zum anklicken) und wird daher nur mit der Befehlszeile ausgeführt. Desweiteren stelle ich hier nur Windowsbefehle vor, wenn es jemand unter Mac / Linux ausführt, dann sagt mir wie, und ich häng es dran.
colorChangev3.jar und euer Zip-File sollten in einem Ordner liegen.
- Jetzt öffnet ihr die Befehlszeile (Start -> Ausführen -> CMD) und
- Navigiert in euren Ordner.
Beispiel: Liegt auf dem Desktop im Ordner color:1cd desktop
2cd color - Und gebt z.B. folgendes ein (Kursiver Text ist das, was ihr ändern könnt / müsst):1java -jar cc3.jar template.zip ticker=FFFFFFFF clock=FFFFFFFF date=FFFFFFFF ongoing=FFFFFFFF latest=FFFFFFFF network=FFFFFFFF roam=FFFFFFFF clear=FF000000
2
3Die Einstellungen:
4ticker ist die Laufschrift zb. SMS Texte die Durchlaufen
5clock ist die Uhr oben rechts
6date ist das Datum oben Links, wenn man die Notification Bar herunterzieht
7ongoing ist der Text in der heruntergezogenen Statusbar, wenn eine Neuigkeit eingetroffen ist
8latest ist das Wort "Aktuell"
9network ist euer Diensteprovider (T-Mobile, Vodafone, Eplus etc...)
10roam Nicht gesichert, was das ist ... Wahrscheinlich bei Roamingverbindungen
11clear ist der Schriftzug löschen, womit man notifications löschen kann
12none ist die Zeile "Keine Benachrichtigungen"
Wichtig: Die Argumentation der Farbe erfolgt durch ARGB-Codierung.
Beispiel: ticker=1A2B3C4D -> 1A 2B 3C 4D
1A steht für die Deckkraft (Opacity) // 00 = 0%, FF = 100%
2B steht für die Farbe Rot
3C steht für die Farbe Grün
4D steht für die Farbe Blau
Hexadezimal, versteht sich. 'n Umrechner dafür gibt es hier: http://www.6webmaster.com/homepagetools/farbcodes.php] -klick-
Jetzt habt ihr 2 kopierfertige Dateien, die schon die meisten Farben beinhaltet, das Problem ist nur, an vielen Stellen gibt es jetzt noch Probleme. Z. B. die einzelnen Benachrichtigungen haben noch die Standart-Farben.
Abschnitt 3: HexEdits
Jetzt kommt der komplizierte Teil:
Ein Hexeditor zeigt euch die geschriebenen Werte einer Datei an. Am Anfang sehr verwirrend, aber geht alles.
Um die Benachrichtigungsfarbe zu ändern braucht ihr folgende Dateien aus eurer framework-res.apk. Einfach mit eurem Zip-Programm öffnen, oder die Dateiendung .apk auf .zip ändern.
Wir holen uns dafür die schon veränderte framework-res.apk:
euer Zipfile öffnen: in den Ordner framework und die Datei entpacken. Namen ändern, oder einfach so öffnen, und weiterlesen. :o)
Die Ordnerstruktur in framework-res.apk sieht folgendermaßen aus:
+ Zipfile
| + asset
| + META-INF
| + res
| | + layout
| | | status_bar_latest_event_content.xml
| | | status_bar_expanded.xml
| | | status_bar.xml
| Android Manifest.xml
| resources.arsc
(Eingekürzt, wäre ja sonst viel zu lang...)
Das Problem an der Sache ist folgende: Wenn eine apk kompiliert wird (ready to rumble gemacht wird. :>), werden sie binär übersetzt, und so blöde, dass die mit einem normalen XML-Editor nicht mehr funktionieren. Deswegen müssen wir mit dem HexEditor ran.
Wir brauchen die folgenden Dateien:
- status_bar_latest_event_content.xml
- status_bar_expanded.xml
- status_bar.xml
Und dann die Dateien in den Rachen des HexEditor werfen.
Auf der folgenden Seite gibt es das ganze unkompiliert zum angucken.-klick- Das ist insofern wichtig, um einen Überblick zu bekommen. Sucht auf der Seite (Strg + F) nach #ff, kombiniert gut, und guckt ob es das richtige ist. Je öfter ihr erneut suchen müsst, um weiter zu kommen, desto weiter müsst ihr in der XML im HexEditor suchen.
Wenn z. B. der gesuchten Farbwert an dritter Stelle findet, müsst ihr 3x weiter nach dem Farbwert in der XML suchen.
Wie finden wir den ausztauschenden Farbwert?
Sucht nach folgendem HexWert: 08 00 00 1C
Der beschreibt immer den Anfang eines Farbwertes. Die nächsten 8 Stellen sind der tatsächliche Farbwert. (z. B.: 00 00 00 00 - für schwarze Schrift)
Um euren Farbwert zu bekommen, den wieder ein, nur diesmal verkehrtherum:
Aus der Änderung von dem Javascript nehmen wir das selbe Farbbeispiel
Die Farbcodierung lautet diesmal: BGRA
Die Farbe 1A2B3C4D wird - in der XML - zu 4D 3C 2B 1A und das im XML sieht dann in etwa so aus:
08 00 00 1C 4D 3C 2B 1A
Nun noch wieder in das Zip zurück schieben, und aufpassen, beim zurückschieben die Option unter Kompression Speichern wählen.
Das wars eigentlich. :> Lesen, probieren, kommentieren. Alles mögliche bin ich gerne bereit zu ändern.
— geändert am 04.03.2010, 16:36:42
- Fertigungsprodukt. - „Behandle die Menschen so, als wären sie, was sie sein sollten, und du hilfst ihnen zu werden, was sie sein können.“ - Leitfaden