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

Frage an Modder: Wie framework-res.apk am besten modifizieren?

Dieses Thema im Forum "Root / Hacking / Modding für Motorola Milestone" wurde erstellt von herrlado, 21.05.2010.

  1. herrlado, 21.05.2010 #1
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Hallo Modder,
    Ich wollte ein Paar Sachen in framework-res.apk ändern, bzw. neue locale hinzufügen. Wie spiele ich es wieder sauber ein?

    Gruß,
    Lado
     
  2. inazr, 21.05.2010 #2
    inazr

    inazr Android-Experte

    Beiträge:
    600
    Erhaltene Danke:
    154
    Registriert seit:
    29.12.2009
    Phone:
    Samsung Galaxy S6 Edge
    was sind "neue locale" ???

    einfach nach system/framework/ kopieren und überschreiben...

    die Rechte VORHER!!! setzen, weil dein Stein schmiert direkt nach dem kopieren ab.
     
  3. -FuFu-, 21.05.2010 #3
    -FuFu-

    -FuFu- Android-Urgestein

    Beiträge:
    8,406
    Erhaltene Danke:
    3,148
    Registriert seit:
    17.03.2010
    Phone:
    Motorola Moto E 2.Gen
    nutz die SuFu, es gibt einen thread, wo das genau erklärt wird, wie genau er heißt weis ich gerade nicht.... aber da steht alles drin, irgendwo auf den ersten 6 bis 10 seiten wird der hier sein
     
    herrlado bedankt sich.
  4. herrlado, 21.05.2010 #4
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Hi. Das ist im Prinzip nicht relevant. Also die Texte möchte ich modifizieren.
    Aber danach wenn ich es wieder kopiere und die Rechte setze, zwar bootet der Stein aber die Anwednungen starten nicht alle, es kommt dauernd force close, etc.

    -FuFu-
    Danke, ich suche mal.


    Gruß,
    Lado
     
  5. scheichuwe, 21.05.2010 #5
    scheichuwe

    scheichuwe Android-Ikone

    Beiträge:
    5,441
    Erhaltene Danke:
    2,541
    Registriert seit:
    09.09.2009
    Phone:
    LG G4
  6. herrlado, 21.05.2010 #6
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Naja, modifizieren habe ich bereits AlarmClock.apk. Ich musste es sogar neu signieren.
    Wenn ich framework-res.apk nicht neu signiren, gerate ich in eine Reboot Schleife.
    Wenn ich es signieren starte zwar das Gerät aber alles wird gecrashed. Ich kriege nicht mit weswegen. Ich habe das hier noch gefunden:
    [SOLVED] Modifying layout xmls in framework-res.apk, fails, have questions. - xda-developers

    Also die Frage ist, ob man was Spezielles bei framework-res.apk tun muss.

    Gruß,
    Lado

    P.S.
    Muss man da nichts löschen, ähnlich /data/data/<some app> cache löschen?
     
    Zuletzt bearbeitet: 21.05.2010
  7. herrlado, 21.05.2010 #7
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Also mein Problem ist, ohne was zu modifizieren.

    Ich packe die Datei framework-res.apk
    so aus
    Code:
    lado@genlap ~/fra $ apktool d -s framework-res.apk diss/
    
    dann packe ich es so ein
    Code:
    lado@genlap ~/fra $ apktool b diss/
    
    dann
    Code:
    lado@genlap ~/fra $ jarsigner -storepass <pass> -keystore ../../../development/android/workspace/AnySoftKeyboardLanguagePackGeorgian/keystore  out.apk  anygeo
    
    dann

    Code:
    lado@genlap ~/fra $ zipalign -v 4 out.apk framework-res.apk 
    
    dann


    Code:
    lado@genlap ~/fra $ adb push framework-res.apk /sdcard/
    adb shell
    su
    <hier mounte rw mit root explorer>
    cp /sdcard/framework-res.apk /system/framework/
    chmod 644 /system/framework/framework-res.apk 
    reboot
    
    Aber com.process.android.* Prozess crashen. Telefon is unbrauchbar, da continuerlich
    das Popup mit force close im FG ist :(

    Was mache ich falsch?

    Diesmal habe ich wirklich nichts modifiziert. Ausgepackt, eingepackt, kopiert...

    Gruß,
    Lado
     
  8. he_stheone64, 21.05.2010 #8
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Du sollst weder aus- noch einpacken. Einfach die framework-res als zip öffnen, Dateien reinladen und zip schliessen. In keinem Fall neu packen.
     
  9. herrlado, 25.05.2010 #9
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Gut, mein Problem ist, dass ich unbedingt apktool benuzen muss.
    Ich will ja keine Bilder modifizieren, sondern die Texte. Da diese binär kodiert werden,
    muss ich diese Datei zerlegen, die Texte modifizieren und wieder rein.

    Genau das ist das Problem. Hat jemand vielleicht framework-res.apk mit apktool zerlegt und eingepackt, so dass es dann problemlos lief?


    Mein nächster Schritt ist, die modifizierte Datei auf der /sdcard/ Partition zu lagern und
    mit update-script zu verschieben. Vielleicht wird es dann als OK angesehen.
    Siehe der Beitrag hierzu
    [SOLVED] Modifying layout xmls in framework-res.apk, fails, have questions. - xda-developers
     
  10. he_stheone64, 25.07.2010 #10
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Bin da zufällig drüber gestolpert, ist die Frage noch aktuell?
     
  11. herrlado, 26.07.2010 #11
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Hi. Ich bin immer gescheitert. Also die Frage ist noch aktuell.


    Gruß,
    Lado
     
  12. Thyrus, 26.07.2010 #12
    Thyrus

    Thyrus Gast

    Mal schauen ob ichs hinbekomme.. die texte sind in den resources.arsc enthalten. Mit apktool das ganze decompilen, dann siehst du die folder mit den texten in dem jeweiligen folder res/...(de, en etc). Danach aendern, recompilen mit apktool und die resources.arsc wieder in die ursprungliche apk schieben :)
     
  13. he_stheone64, 26.07.2010 #13
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Beinahe Thyrus -es kommt immer darauf an, welche Schriftfarben er ändern will. Die Text Farben in der Framework für die Hauptschriften befinden sich nicht in der resources.arsc, sondern in res/colors.

    Die wichtigsten dort sind:

    primary_text_dark und primary_text_light
    search_url_text
    secondary_text_dark und secondary_text_light
    tab_indicator_text (braucht man aber fast nie ändern)
    tertiary_text_dark und tertiary_text_light

    Wie Thyrus aber richtig gesagt hat - dekompilieren in apktool mit java -jar apktool.jar d framework-res.apk framework-res decoded

    Dann Editieren und mit

    java -jar apktool.jar b framework-res decoded

    wieder kompilieren. Dann die xmls aus res/color entnehmen und in deine framework packen. Bei Firmware 2.1 ist auch signen bei system/app nicht mehr nötig.

    Es gibt natürlich auch noch Tonnen an Schriften in den resources.arsc, aber dann fein runtergebrochen für einzelne Elemente. Die würdest Du dann u.a. in res/values/color.xml und res/values/styles.xml finden. Im Gegensatz zu den apps musst Du hier auch nicht mehr die smalis (classes.dex) bearbeiten, da die framework keine hat - die hasse ich nämlich wie die Pest.
     
    Zuletzt bearbeitet: 26.07.2010
  14. herrlado, 26.07.2010 #14
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    @Thyrus
    @he_stheone64

    So einfach ist das nicht ->

    http://www.android-hilfe.de/root-ha...es-apk-am-besten-modifizieren.html#post319694

    So kann ich booten und die Oberfläche ist da, aber ich gerate in die Force Clsoe Schleife von irgendwelchen System Prozessen. Ich kann nur noch close Buttons klicken.

    Die Lösung soll angeblich das hier darstellen
    http://www.android-hilfe.de/root-ha...es-apk-am-besten-modifizieren.html#post319586

    Da wir aber keine große Dateien ins update.zip packen können, sollte man ausprobieren,
    ob man framework-res.apk nicht auf die /sdcard packt und mit dem update-script dann verschieben bzw. quasi "updatet"

    Gruß,
    Lado
     
  15. Thyrus, 26.07.2010 #15
    Thyrus

    Thyrus Gast

    Wad Genau willst du denn Moden Schriftart Farbe oder Texte ??mir ist nicht klar was du eigentlich machen willst
     
  16. herrlado, 26.07.2010 #16
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Thyrus

    Ganz einfach, ich will eine neue Locale hinzufügen. Also
    so was wie values-de, in meinem Fall values-ka
    Das hinzufügen funktioniert bei den anderen Apps wunderbar. Auch framework-res.apk
    kann ich im Grunde genommen modifizieren. Ich sehe, dass die Änderungen da sind. Eben diese Buttons (Force Close) sind übersetzt :D. Komme aber, wie gesagt, nicht aus der Force Close Scheife :(

    Mal nebenbei gefragt. Vielleicht hast du Ahnung, wie die Aufnahme einer Neuer Sprache (Locale) in das Android OS funktioniert, so dass es offiziell ein Teil des OS wird?
    Ich habe ein Paar Android Entwickler angeschrieben, leider antwortet da keiner :(
     
  17. he_stheone64, 26.07.2010 #17
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Du hast deine Infos offensichtlich aus der falschen XDA Abteilung, du musst NIX signieren, was in system/app kommt. Das war bei den arme G1 Jungs noch so vor 2.0, aber jetzt nicht mehr. Im Gegenteil - Du schaffst Dir dadurch nur Probleme. Ich habe mit dem oben beschriebenen Verfahren jetzt über 10 Themes mit ca. 200 modifizierten apks hier gelauncht - also scheint es doch so einfach zu sein ;)

    Updaten der framework ist am sichersten ohnehin immer entweder via update script oder adb. Daher packe ich ja auch immer scripts für adb und OR in meine Themes.
     
    Zuletzt bearbeitet: 26.07.2010
  18. herrlado, 26.07.2010 #18
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    @he_stheone64

    Aber bestimmt keien framework-res.apk, welches mit apktool zerlegt und wieder eingepackt wurde ;)

    Wenn ich es nicht signiere, bootet der Stein nicht mehr :(

    Die meinten nicht signieren, aber per update.zip installieren, was aber ihrerseits signiert sein soll. Wir können ja aber bekanntlich keine update.zip singieren.
    Einzige Möglichkeit zum ausprobieren bleibt das update.zip nehmen und das Skript so modifizieren, dass die Datei einfach geschoben wird.
     
  19. he_stheone64, 26.07.2010 #19
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Hääteste das mal gleich gesagt, Du sprachst immer von Text. Bei den strings musst Du auf folgendes achten.

    1. Für jeden eingefügten Ordner z.b: values-de musst Du einen anderen Sprachordner löschen z.B. values-es
    2. Du musst auch genauso bei den mcc Ordnern vorgehen (z.B. 204, 230 etc)

     
  20. he_stheone64, 26.07.2010 #20
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Ich mach das ja nun wirklich fast täglich ohne Probleme mit apktool - trust me. Du musst aber generell nach dem Kompilieren die Original Meta-INF und das Android Manifest aus der Original apk importieren, sonst bekommst Du natürlich Probleme (und die sind nun mal bereits signiert).

    P.S. Alternativ kannst Du bei Änderungen an den values auch einfach die resources aus der kompilierten in deine Original framework schieben, auch so geht es.

     
    Zuletzt bearbeitet: 26.07.2010
    herrlado bedankt sich.

Diese Seite empfehlen