[TUT][ICS] Decompile & Re-Compile {SystemUI;Framework-res; etc.}

  • 165 Antworten
  • Letztes Antwortdatum
DjSonix

DjSonix

Stamm-User
720
Hallo Liebe Community,

heute möchte ich euch ein HowTo schreiben für das Decompilen & Re-Compilen [ICS] der SystemUI; Framework-Res; sonstige APK's.


Ok legen wir los :D

Alles was Ihr braucht:

  • ApkTool {Wuala}
  • JDK {Klick}
  • Java {Klick}
  • Ein eintrag der Variablen unter Windows {;C:\Programme\Java\jdk1.7.0_03\bin} Beachtet den speicherort des JDK, und passt diesen an euren Pfad an.
Alls erstes installieren wir das JDK und Java, beachtet dabei eure Windows version {32bit&64bit}

Öffnet die geladen apktool file und legt den darin liegenden ordner am besten unter C:\

Habt Ihr das erledigt tragen wir den Pfad des JDK in euren umgebungsvariablen unter Windows ein.

Ihr geht auf Start dann auf Computer mit der rechten maustaste und geht auf eigenschaften

scaled.php


Dort angekommen auf ERWEITERTE SYSTEMEINSTELLUNGEN
scaled.php


Dann auf Erweitert und Umgebungsvariablen
scaled.php


Dann sucht ihr den eintrag "Path" und geht auf Bearbeiten
scaled.php


Zum Schluss diesen eintrag am ende der Zeile einfügen "
;C:\Programme\Java\jdk1.7.0_03\bin"
scaled.php



So nun haben wir die basis und gehen jetzt an die eigentliche Arbeit, undzwar zu Apktool.

Legt als erstes eure files {Apk's} die ihr bearbeiten möchtet in den
gleichen ordner in dem sich apktool befindet.

Als beispiel nehme ich die SystemUI und die Framework-Res.

Nun gehen wir auf Start, unten bei Ausführen geben wir "cmd" ein.

Als erstes gehen wir zu unserem Pfad wo sich das apktool befindet:

  • cd c:\apktool
Nun geben wir den befehl die Framework-Res zu installieren (Pflicht um die SystemUI erfolgreich zu bearbeiten)

  • java -jar apktool.jar if Framework-Res.apk
So jezt werden wir die SystemUI Decompilen

  • java -jar apktool.jar d SystemUI.apk
Nun könnt ihr alles ändern das ihr ändern wollt, wie z.B: xml, png, 9png etc.


Habt ihr eure änderungen fertiggestellt können wir die SystemUI wieder Re-Compilen

  • java -jar apktool.jar b SystemUI
Eure fertige SystemUI.apk befinden sich nun unter C:\apktool\SystemUI\dist


Jetzt müst ihr nur noch eine CWM flashbare .zip erstellen und fertig, oder ihr ersetzt die Neue SystemUI mit der alten in der ROM.

Have FUN


Euer "DjSonix"
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: 156436, diddsen, dragonball und 18 andere
For the Future:flapper:
 
One More:drool:
 
Danke djsonix gut geschrieben.

Gesendet von meinem GT-N7000 mit Tapatalk 2
 
  • Danke
Reaktionen: DjSonix
Ja mit dieser methode haben endlich dies user die möglichkeit ihre rom's auf ihre eigenen wünsche anzupasssen.

Um die xml files zu bearbeiten braucht ihr den Notepad++
 
  • Danke
Reaktionen: frabe8378910
DjSonix schrieb:
Ja mit dieser methode haben endlich dies user die möglichkeit ihre rom's auf ihre eigenen wünsche anzupasssen.

...jetzt fehlt nur noch die Übersetzung für die Anwender, die sich komplett "Windows-Frei" durch den Orbit bewegen ...
Wenn ich etwas Zeit habe, werde ich deine Anleitung mal unter Linux "probieren".
 
  • Danke
Reaktionen: sMiRgL und DjSonix
Hallo und danke erstmal für dein howto. Habe da mal eine Frage:
Muss man bei der Modifizierung von der framework-res auch die system apk installieren? Komme schon Tage nicht weiter. Beim compilieren gibt es immer Fehler und das GS 2 startet nicht mehr. Selbst wenn ich nichts ändern in der framework. Wäre dankbar für Hilfe.

Gesendet von meinem GT-I9100 mit Tapatalk 2
 
Hallo.
Falls du ein Customrom verändern willst, auch die Tag frameworkres.apk installieren, das hat bei mir geholfen.

Good luck.

Gruss Didi

Edit: tw-frameworkres.apk natürlich:sad: die mobile Tastatur sabotiert:D
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: Connecter
Connecter schrieb:
Hallo und danke erstmal für dein howto. Habe da mal eine Frage:
Muss man bei der Modifizierung von der framework-res auch die system apk installieren? Komme schon Tage nicht weiter. Beim compilieren gibt es immer Fehler und das GS 2 startet nicht mehr. Selbst wenn ich nichts ändern in der framework. Wäre dankbar für Hilfe.

Gesendet von meinem GT-I9100 mit Tapatalk 2

Wenn ich dich richtig versteh nutzt du meine methode für dein Galaxy S2?

Nein, wenn du die framework-res decompilen/compilen willst brauchst du die systemui nicht installieren.
Kannst du evtl. den fehlerbericht hochladen, so könnte ich dir sagen an welchem brut problem das liegt.
 
Danke für eure Hilfe. Welche Datei muss ich denn noch installieren, die du meinst unhold 31?

Habe mal das Bild mit den Fehlermeldungen. Verwende das Ganze für das Galaxy S2.
 

Anhänge

  • log.jpg
    log.jpg
    81 KB · Aufrufe: 836
Okay apktool findet wohl die sources.arc nicht, die in der decompilierten(bzw. in der installierten framwork-res zu) finden sein sollte.
Diese solltest du (fals du sie findest) in den hauptordner der decompilierten framework-res einfügen.

Edit:
Muss aber dazu sagen, das ich selber gerade eben das getestet habe und bei mir
läßt sich die framework-res.apk problemlos de- und re-compilen.
 
  • Danke
Reaktionen: Connecter
Erstmal danke, bin froh, dass mir geholfen wird, komme mir schon etwas doof vor. :o

Also in der installieren Datei gibt es ja nur eine resources.arsc . Eine sources.arc finde ich nirgendwo. Echt komisch. Vllt. kannst du es mal mit meiner framework ausprobieren? Wäre nett. thx
 

Anhänge

  • framework-res.apk
    8 MB · Aufrufe: 236
@ Connecter
Hab deine framework-res.apk installiert, bei mir kein Problem.
Deine andere Frage, bez. tw-frameworkres.apk, falls du so wie ich einer Customrom deinen letzten "Schliff" geben willst, findest du im Ordner Framework die originale tw-frameworkres.apk.
Bei mir hat´s dann mit folgenden Befehlen funktioniert:
C:\apktool>java -jar apktool.jar if famework-res.apk
C:\apktool>java -jar apktool.jar if twframework-res.apk

Wünsch viel Glück und Erfolg

gruss Didi
 
  • Danke
Reaktionen: Connecter
@ Connecter
Hab deine framework-res.apk installiert, bei mir kein Problem.
Deine andere Frage, bez. tw-frameworkres.apk, falls du so wie ich einer Customrom deinen letzten "Schliff" geben willst, findest du im Ordner Framework die originale tw-frameworkres.apk.
Bei mir hat´s dann mit folgenden Befehlen funktioniert:
C:\apktool>java -jar apktool.jar if famework-res.apk
C:\apktool>java -jar apktool.jar if twframework-res.apk

Wünsch viel Glück und Erfolg

gruss Didi

Ahh die twframework-res.apk meinste. :) Klar die habe ich mal eben probiert. Das geht komischerweise ohne Fehler. Echt komisch. Bei der framework-res komme ich trotzdem nicht weiter.

Danke für deine Hilfe!
 
@ Connecter
sorry, so der grosse Auskenner bin ich leider auch nicht, bin mit viel lesen und probieren am lernen. Bei mir hat es mit der Anleitung von DJSonix, mit der Abänderung der Installation der twframework-res.apk als 2. Schritt vor dem Decompilen funktionieren.
Mir würde noch einfallen
-PC neustarten (hilft manchmal:rolleyes2:)
-Virenschutz während arbeiten mit apktool deaktivieren, die Dinger blocken manchmal aktivitäten ohne Meldung.:cursing:

viel Glück und A guats Nächtle

Gruss Didi
 
Connecter schrieb:
Ahh die twframework-res.apk meinste. :) Klar die habe ich mal eben probiert. Das geht komischerweise ohne Fehler. Echt komisch. Bei der framework-res komme ich trotzdem nicht weiter.

Danke für deine Hilfe!

Okay auf ein neus,

Geh unter eigene dateien, da wo die framework-res installiert ist ( Wo sich auch Musik,Videos, Dokumente Ordner etc. befinden)
dort fiindest du den ordner apktool (Diesen ordner bitte löschen)

Dann gehst du in den normalen apktool ordner (wohin du die framework-res.apk sowie die TWFramework-res.apk kopierst)
Ziehst nochmal die beiden frameworks aus der costum rom in den Ordner apktool.

dann der befehl per cmd:

java -jar apktool.jar if framework-res.apk

dann:

java -jar apktool.jar if twframework-res.apk

Und dann versuchst du es nochmal mit dem de- und re-compilen.
 
DjSonix schrieb:
Okay auf ein neus,

Geh unter eigene dateien, da wo die framework-res installiert ist ( Wo sich auch Musik,Videos, Dokumente Ordner etc. befinden)
dort fiindest du den ordner apktool (Diesen ordner bitte löschen)

Dann gehst du in den normalen apktool ordner (wohin du die framework-res.apk sowie die TWFramework-res.apk kopierst)
Ziehst nochmal die beiden frameworks aus der costum rom in den Ordner apktool.

dann der befehl per cmd:

java -jar apktool.jar if framework-res.apk

dann:

java -jar apktool.jar if twframework-res.apk

Und dann versuchst du es nochmal mit dem de- und re-compilen.

Danke für eure Hilfe. Bin kurz vor dem Aufgeben. Habe es so gemacht, klappt einfach nicht. So schwer kann das doch echt nicht sein. 2 PCs 2 Betriebssysteme usw. es klappt einfach nicht.
 
Connecter schrieb:
Danke für eure Hilfe. Bin kurz vor dem Aufgeben. Habe es so gemacht, klappt einfach nicht. So schwer kann das doch echt nicht sein. 2 PCs 2 Betriebssysteme usw. es klappt einfach nicht.

Nimm mal eine framework-res.apk aus einer stock rom und nicht aus einer custom rom, die stock rom muss aber die selbe firmware haben wie die customrom in die du es nacher einsetzten willst.
Das sollte auf jeden fall funktionieren.
Aber nicht vergessen die framework-res.apk neu zu installieren und zu decompilen, alles alte löschen (wie vorhin beschrieben).
 
  • Danke
Reaktionen: Connecter
DjSonix schrieb:
Nimm mal eine framework-res.apk aus einer stock rom und nicht aus einer custom rom, die stock rom muss aber die selbe firmware haben wie die customrom in die du es nacher einsetzten willst.
Das sollte auf jeden fall funktionieren.
Aber nicht vergessen die framework-res.apk neu zu installieren und zu decompilen, alles alte löschen (wie vorhin beschrieben).

Okay vllt. noch mal zum Vorgehen, nicht das ich irgendwas übersehe.

1. Ich nehme die framework-res.apk und twframework-res.apk und lege sie in den Ordner.

2. Anschließend überprüfe ich noch einmal den Pfad: C:\Benutzer\UserXY\apktool und löschen den ganzen Ordner apktool.

3. Ich öffne die Console. Shift + rechte Maustaste. Tippe folgende Sachen ein:
java -jar apktool.jar if framework-res.apk
dann
java -jar apktool.jar if twframework-res.apk
Überprüfe den Ordner unter C:\Benutzer\UserXY\apktool
Zwei Dateien sind vorhanden. 1.apk und 2.apk

4. Decompilieren. In die Konsole tippe ich:
java -jar apktool.jar d framework-res.apk

5. Ein Ordner wird erstellt mit dem Namen framework-res

6. Dekompilieren würde ich jetzt Sachen editieren, mache ich aber nicht.

7. Kompilieren, dazu tippe ich einfach:
java -jar apktool.jar b framework-res

8. Fehlermeldung wird nach ca. 15 Sekunden angezeigt.
Code:
C:\apktool>java -jar apktool.jar if framework-res.apk
I: Framework installed to: C:\Users\Desktop\apktool\framework\1.apk

C:\apktool>java -jar apktool.jar if twframework-res.apk
I: Framework installed to: C:\Users\Desktop\apktool\framework\2.apk

C:\apktool>java -jar apktool.jar d framework-res.apk
I: Loading resource table...
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...

C:\apktool>java -jar apktool.jar b framework-res
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
aapt: warning: string 'abbrev_wday_abbrev_month_day_no_year' has no default tran
slation in C:\apktool\framework-res\res; found: sr
aapt: warning: string 'abbrev_wday_day_abbrev_month_no_year' has no default tran
slation in C:\apktool\framework-res\res; found: sr
aapt: warning: string 'policydesc_allow_htmlemail' has no default translation in
 C:\apktool\framework-res\res; found: en_US
aapt: warning: string 'policylab_allow_htmlemail' has no default translation in
C:\apktool\framework-res\res; found: en_US
aapt: warning: string 'wifi_p2p_pbc_go_negotiation_request_message' has no defau
lt translation in C:\apktool\framework-res\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_display_message' has no default translation
in C:\apktool\framework-res\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_go_negotiation_request_message' has no defau
lt translation in C:\apktool\framework-res\res; found: en_GB es pt
C:\apktool\framework-res\res\values\plurals.xml:79: error: Multiple substitution
s specified in non-positional format; did you mean to add the formatted="false"
attribute?
C:\apktool\framework-res\res\values\plurals.xml:79: error: Found tag </item> whe
re </plurals> is expected
C:\apktool\framework-res\res\values-en-rGB\plurals.xml:79: error: Multiple subst
itutions specified in non-positional format; did you mean to add the formatted="
false" attribute?
C:\apktool\framework-res\res\values-en-rGB\plurals.xml:79: error: Found tag </it
em> where </plurals> is expected
C:\apktool\framework-res\res\values-en-rUS\plurals.xml:79: error: Multiple subst
itutions specified in non-positional format; did you mean to add the formatted="
false" attribute?
C:\apktool\framework-res\res\values-en-rUS\plurals.xml:79: error: Found tag </it
em> where </plurals> is expected
C:\apktool\framework-res\res\values-es\plurals.xml:79: error: Multiple substitut
ions specified in non-positional format; did you mean to add the formatted="fals
e" attribute?
C:\apktool\framework-res\res\values-es\plurals.xml:79: error: Found tag </item>
where </plurals> is expected
C:\apktool\framework-res\res\values-pt\plurals.xml:79: error: Multiple substitut
ions specified in non-positional format; did you mean to add the formatted="fals
e" attribute?
C:\apktool\framework-res\res\values-pt\plurals.xml:79: error: Found tag </item>
where </plurals> is expected
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\Desktop\AppData\Local\Temp
\APKTOOL3819003598962703539.tmp, -x, -S, C:\apktool\framework-res\res, -M, C:\ap
ktool\framework-res\AndroidManifest.xml]
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:193)
        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
        at brut.androlib.Androlib.buildResources(Androlib.java:248)
        at brut.androlib.Androlib.build(Androlib.java:171)
        at brut.androlib.Androlib.build(Androlib.java:154)
        at brut.apktool.Main.cmdBuild(Main.java:182)
        at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\Desktop\AppData\Local\Temp\APKTOOL3819003598962703539.tmp, -x, -S, C:\apkto
ol\framework-res\res, -M, C:\apktool\framework-res\AndroidManifest.xml]
        at brut.util.OS.exec(OS.java:83)
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
        ... 6 more
 
Deine vorgehensweiße ist volkommen korrekt:p

Was für eine version willst du decompilen? ICS oder Gingerbread?
Hast du die variable in path hinzugefügt?
Antivirus Deaktiviert?
Lege mein apktool am besten unter C:\ (kein unterodner oder so)
Also praktisch C:\apktool
 

Ähnliche Themen

Malzbier
  • Malzbier
2 3
Antworten
48
Aufrufe
4.885
Darktrooper
D
Tracy57
Antworten
15
Aufrufe
3.045
Tracy57
Tracy57
/Lampi/
  • Angepinnt
  • /Lampi/
19 20 21
Antworten
405
Aufrufe
70.505
fragi
fragi
Zurück
Oben Unten