Wie deodext man ein Android-System?

  • 10 Antworten
  • Letztes Antwortdatum
nairolf_sch

nairolf_sch

Fortgeschrittenes Mitglied
37
Hallo liebe Gemeinde,
Ich stelle mir seit längerem die Frage wie man jetzt konkret eine Firmware SELBST deodext.
Ich möchte keine Custom-Roms oder UK-Sbf´s flaschen, sonder bitte eine Anleitung am besten Step-by-Step):lol:

Ist das für einen Laien machbar?
:blink:

Grüße nairolf_sch

zur Info ich habe original 2.51.1 T-mobile mit 2.6.29 Kernel und Root/ClockworkMod
 
ja, programme dafür gibt es, auch verschiedene möglichkeiten wie man das macht, aber nicht im forum für themes.
 
Es tut mir leid das ich diesen Fehler gemacht habe und bitte jeden der es kann diesen Thread zu verschieben.
Ich wollte es eigentlich unter Root / Hacking / Modding für Motorola Defy direkt stellen hab mich dann aber verklickt.:blushing:

Kann mir trotzdem jemand helfen?
 
ist verschoben
 
nairolf_sch schrieb:
Hallo liebe Gemeinde,
Ich stelle mir seit längerem die Frage wie man jetzt konkret eine Firmware SELBST deodext.
Ich möchte keine Custom-Roms oder UK-Sbf´s flaschen, sonder bitte eine Anleitung am besten Step-by-Step):lol:

Ist das für einen Laien machbar?
:blink:

Grüße nairolf_sch

zur Info ich habe original 2.51.1 T-mobile mit 2.6.29 Kernel und Root/ClockworkMod

- /System/app und /system/framework vom Handy auf deine SD-Karte kopieren
- von dort auf deinen Computer
- mit dem Tool xUltimate kann man die Daten dann deodexen

Ein wenig probieren ist hier immer gefragt, geht halt nicht alles out of the box. Wichtig ist das man das Framework mit angibt, da viele APKs referenzen dorthin haben.

Viel Erfolg
 
Kann mir bitte kurz jemand erklären, was deodexen ist, und wofür man es braucht?
 
Also um es zu erklären ist es glaub ich am besten aus diesem Thread zu zitieren:


Kjetal schrieb:
Vielleicht hilft dir das weiter


Deodexing / De-odex’ing


Was ist deodexing?:
Bei den Stock ROMs hat es jeweils im /system/app oder im /system/framework Ordner nicht nur APK- bzw. JAR-Dateien, sondern auch die dazugehörigen ODEX-Dateien.
Beim Deodexing wird die ODEX-Datei zurück in eine classes.dex Datei konvertiert und in die APK/JAR Datei gepackt.

Was bringt ein deodextes ROM?:
Diese deodexten Dateien sind meistens kleiner als die APK/JAR + die ODEX-Datei zusammen. Wenn man z.B. den ganzen /system/app und /system/framework Ordner deodext, kann man da schon einige Megabytes sparen.
Deodexte ROMs sind auch für Designer/Themer ganz interessant. Denn bei diesen ROMs kann man ohne weiteres die Schriftgrösse oder Schriftfarbe verändern.

ODEX-Dateien:
Kurz gesagt ist eine ODEX-Datei eine optimierte Version einer classes.dex Datei, welche Geräte spezifische Optimierungen beinhaltet. Insbesondere hat eine ODEX-Datei Abhängigkeiten auf jede "BOOTCLASSPATH" Datei, die geladen wird, wenn sie generiert wird.
Diese ODEX-Datei ist nur dann gültig, wenn man sie mit genau diesen "BOOTCLASSPATH" Dateien verwendet. Die Dalvik Virtual Machine erzwingt dies, indem sie eine Prüfsumme für jede Datei erstellt, auf die die ODEX-Datei abhängig ist und stellt sicher, dass die Prüfsumme für jede Datei übereinstimmt, wenn die ODEX-Datei geladen wird.

BOOTCLASSPATH:
Der BOOTCLASSPATH ist eine einfache Liste, welche die Klassen, der APK-/JAR-Dateien beinhaltet, die geladen werden können. (Zusätzlich zu den wichtigsten APK-/JAR-Dateien, die geladen werden.)
Ein normales Android System hat 5 JAR-Dateien in seiner "BOOTCLASSPATH" Datei: core.jar, ext.jar, framework.jar, android.policy.jar und services.jar. Diese Dateien befinden sich alle im Ordner /system/framework. Einige APKs haben auch gewisse Abhängigkeiten zu zusätzlichen JAR- oder APK-Dateien über die fünf Basis JARs hinaus.
Beispiel:
Für die Anwendung, die Google Maps verwendet, wird com.google.android.maps.jar an die BOOTLCLASSPATH-Datei für die APK der App angehängt werden.

Diese ODEX Abhängigkeiten machen das Leben ein wenig schwerer:
  • Mann kann nicht eine APK+ODEX-Datei von einem System nehmen und es auf ein anderes kopieren. Ausser sie benutzen das exakt gleiche Framework.
  • Wenn man nur eine kleine Änderung an einer BOOTCLASSPATH-Datei macht, wird jede ODEX-Datei, welche auf diese BOOTCLASSPATH-Datei angewiesen ist, nicht mehr gültig sein. Das heisst eigentlich jede APK-/JAR-Datei des Systems.

quelle: https://www.android-hilfe.de/forum/htc-desire.69/deodexed-vs-odexed.42759.html#post-532749
 
  • Danke
Reaktionen: Casius
OK, Ich hab nun nach langem suchen eine Anleitung gefunden die ich verstanden habe und auch bei mir funktioniert.

Ich übersetze sie mal für euch und erweitere sie:

  1. Lade meine Deodexing-Sammlung herunter http://dl.dropbox.com/u/27113428/Deodexing.zip (Hier verweise ich auf das Gedankengut von Xeudoxus von den XDA´s; Android Developers und Oracle)
  2. Entpacke die zip nach C:\ (also C:\deodexing)
  3. Schalte in deinem Defy Debugging an und schließe es unter der Option "Portal und Tools" an den Pc an, warte bis alle Treiber installiert wurden.
  4. Installiere "Java Runtime Environment" (Datei "jre-6u25-windows-i586")
  5. Öffne mit Administratorrechten die Datei Main.exe
  6. Wenn dein Defy Verbindung mit der Software hergestellt hat, wird dir ein Auswahl Menü angezeigt.
  7. Wähle Nacheinander 1, 2, 3, 4 wobei jeder erfolgreicher Prozess das Fenster Grün färbt

    !Wenn bei euch kein grüne-Veränderung stattfindet bitte nicht weitermachen.!
  8. Wechsle in den Speicherkartenzugriff und Kopiere die Ordner Done_Frame und Done_app von C:\Deodexing\ in das Root der Speicherkarte

  9. Jetzt gehe auf Start\Programme/Datein durchsuchen und gib cmd.exe ein und öffne sie mit der Entertaste
  10. Dort musst du dann ganz genau das eingeben
    cd C:\deodexing\
    adb usb
    adb shell
    su
    stop
    mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
    cp /sdcard/done_app/* /system/app/
    cp /sdcard/done_frame/* /system/framework/
    rm /system/app/*.odex
    rm /system/framework/*.odex
    mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
    reboot

    Wenn alles funktioniert hatt bootet dein Defy jetzt neu und alles ist Deodext.

    Hier möchte ich nochmal auf die Orginalversion auf English bei den XDA´s verweisen [HOW-TO] Manually deodex your phone. - xda-developers


Viel Spaß,
nairolf_sch:thumbsup:

Bis die Datei in meiner Dropbox ist dauert es noch ca 20 min
 
Sqoerk schrieb:
- /System/app und /system/framework vom Handy auf deine SD-Karte kopieren
- von dort auf deinen Computer
- mit dem Tool xUltimate kann man die Daten dann deodexen

Ein wenig probieren ist hier immer gefragt, geht halt nicht alles out of the box. Wichtig ist das man das Framework mit angibt, da viele APKs referenzen dorthin haben.

Viel Erfolg

Jo, mit dem XUltimate habe ich bisher alles deodexed bekommen. Die anderen
hatten da immer ein wenig herumgebockt.
 
Kleine Verständnisfrage abseits der Moddingmöglichkeiten:

Ne deodexed Datei ist ja doch einiges kleiner, als die odex und die apk zusammen. Bringt das dann auch Geschwindigkeitsvorteile? Kleine Daten lassen sich ja schneller laden. Oder wirkt sich das vielleicht sogar negativ auf die Performance aus, da die classes.dex dann ja innerhalb der gepackten apk liegt und erst entpackt werden muss bei nem Zugriff? Es muss ja nen Grund geben, warum die classes.dex vorher optimiert wurde...
 
Das ist eher genau umgekehrt. Gerade deswegen, weil die Dateien
so strikt Odexed sind, bringt es Vorteile. Daher hat jede *.odex
immer 2 Dateien. Die erste zum fixen und Archivieren für das System
und die 2te für den Datenconatiner. Das bringt schon Unterschiede.
Dank der schnellen Handys von heute, fällt das nicht mehr all zu schlimm
ins Gewicht.
 
  • Danke
Reaktionen: Citynomad

Ähnliche Themen

C
Antworten
4
Aufrufe
4.015
chrisL
C
S
Antworten
8
Aufrufe
1.239
shadowgolf
S
A
  • Annexx
Antworten
3
Aufrufe
2.164
ooo
O
Zurück
Oben Unten