[HowTo] Wie färben wir Texte in der Notification Bar ein?

  • Antworten:9
Gelöschter Account
  • Forum-Beiträge: 3.192

04.03.2010, 16:35:56 via Website

Okay, das ist ein kompliziertes Thema.

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

  1. 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

Antworten
Gelöschter Account
  • Forum-Beiträge: 3.192

28.06.2010, 11:44:41 via App

Bump für einen User. ;)
  1. 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

Antworten
Gelöschter Account
  • Forum-Beiträge: 3.192

28.06.2010, 11:58:12 via App

Ich komm mit dem wiki nicht klar, und mitv der app ist es schlecht zu verlinken. :)
  1. 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

Antworten
Gelöschter Account
  • Forum-Beiträge: 3.192

28.06.2010, 12:25:30 via App

Mach nur. :)
Hab ich kein problem mit.
  1. 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

Antworten
Homer Simpson
  • Forum-Beiträge: 104

05.08.2010, 09:39:01 via Website

Läuft dit ohne root?

Antworten
Enrico
  • Forum-Beiträge: 1.401

05.08.2010, 19:48:04 via Website

Homer Simpson
Läuft dit ohne root?

Natürlich..... nicht.

Wie poste ich falsch? Nachdem ich Google, das Wiki und die Suche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titel und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.

Antworten
Patrick Hahn
  • Forum-Beiträge: 3

06.01.2011, 00:40:57 via Website

Für alle die nicht weiter kommen in der Anleitung unter dem zeiten Punkt 1 ist ein Fehler es sollte heißen: >java -jar colorChangev3.jar.zip (euer Zip Name).zip ticker=FFFFFFFF und so weiter

Antworten
Jens
  • Forum-Beiträge: 1

30.05.2011, 16:16:18 via Website

Also soweit hab ich das alles hin bekommen. Doch sobald ich CC ausführe. Bekomme ich diese Fehlermeldung:

Deleting current services.jar file
Can't find the file C:\Users\Jens\AppData\Local\Temp\cc-temp\framework\services\
classes.dex

Kann es sein das ich die falsche services.jar habe, oder was mache ich falsch?

Antworten