1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

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

Dieses Thema im Forum "Root / Hacking / Modding für Samsung Galaxy Note" wurde erstellt von DjSonix, 29.04.2012.

  1. DjSonix, 29.04.2012 #1
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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

    [​IMG]

    Dort angekommen auf ERWEITERTE SYSTEMEINSTELLUNGEN
    [​IMG]

    Dann auf Erweitert und Umgebungsvariablen
    [​IMG]

    Dann sucht ihr den eintrag "Path" und geht auf Bearbeiten
    [​IMG]

    Zum Schluss diesen eintrag am ende der Zeile einfügen "
    ;C:\Programme\Java\jdk1.7.0_03\bin"
    [​IMG]


    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: 29.04.2012
    marco_wack, diddsen, dragonball und 18 andere haben sich bedankt.
  2. DjSonix, 29.04.2012 #2
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    For the Future:flapper:
     
  3. DjSonix, 29.04.2012 #3
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    One More:drool:
     
  4. bangsti, 29.04.2012 #4
    bangsti

    bangsti Gast

    Danke djsonix gut geschrieben.

    Gesendet von meinem GT-N7000 mit Tapatalk 2
     
    DjSonix bedankt sich.
  5. DjSonix, 29.04.2012 #5
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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++
     
    frabe8378910 bedankt sich.
  6. frabe8378910, 30.04.2012 #6
    frabe8378910

    frabe8378910 Android-Hilfe.de Mitglied

    Beiträge:
    104
    Erhaltene Danke:
    29
    Registriert seit:
    01.01.2012
    ...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".
     
    sMiRgL und DjSonix haben sich bedankt.
  7. Connecter, 02.05.2012 #7
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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
     
  8. unhold 31, 03.05.2012 #8
    unhold 31

    unhold 31 Android-Experte

    Beiträge:
    639
    Erhaltene Danke:
    680
    Registriert seit:
    30.04.2012
    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: 03.05.2012
    Connecter bedankt sich.
  9. DjSonix, 03.05.2012 #9
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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.
     
  10. Connecter, 03.05.2012 #10
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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
      Dateigröße:
      132.4 KB
      Aufrufe:
      509
  11. DjSonix, 03.05.2012 #11
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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.
     
    Connecter bedankt sich.
  12. Connecter, 03.05.2012 #12
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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:

  13. unhold 31, 03.05.2012 #13
    unhold 31

    unhold 31 Android-Experte

    Beiträge:
    639
    Erhaltene Danke:
    680
    Registriert seit:
    30.04.2012
    @ 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
     
    Connecter bedankt sich.
  14. Connecter, 03.05.2012 #14
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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!
     
  15. unhold 31, 03.05.2012 #15
    unhold 31

    unhold 31 Android-Experte

    Beiträge:
    639
    Erhaltene Danke:
    680
    Registriert seit:
    30.04.2012
    @ 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
     
  16. DjSonix, 04.05.2012 #16
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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.
     
  17. Connecter, 04.05.2012 #17
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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.
     
  18. DjSonix, 04.05.2012 #18
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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).
     
    Connecter bedankt sich.
  19. Connecter, 04.05.2012 #19
    Connecter

    Connecter Android-Hilfe.de Mitglied

    Beiträge:
    79
    Erhaltene Danke:
    16
    Registriert seit:
    11.07.2011
    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
    
    
     
  20. DjSonix, 04.05.2012 #20
    DjSonix

    DjSonix Threadstarter Android-Experte

    Beiträge:
    603
    Erhaltene Danke:
    589
    Registriert seit:
    11.01.2012
    Phone:
    Samsung Galaxy Note
    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
     

Diese Seite empfehlen