Was ist der Unterschied zwischen geraden und geraden ROMs?


43

Was ist der Unterschied zwischen geraden und geraden ROMs ? Welche Standard-ROMs werden auf dem Schiff verwendet?

Antworten:


39

Eine .dexDatei ist im Grunde eine kompilierte Bytecode-Version einer App, die für die Dalvik-VM erstellt wurde, auf der die Apps von Android ausgeführt werden. Ich glaube, es ist eine Abkürzung für Dalvik Executable, aber ich bin mir nicht sicher, ob ich mich daran richtig erinnere.

Eine .odexDatei ist eine optimierte .dexDatei (daher das 'o'), was bedeutet, dass sie grundsätzlich für eine bestimmte Plattform vorkompiliert wurde. Dies hat den Vorteil, dass die Startzeit viel kürzer ist, da die VM beim Start / zur Laufzeit keine Optimierung durchführen muss. Die Nachteile sind 1) dass es etwas mehr Platz benötigt und 2) eine odexed App nicht richtig läuft, wenn sie auf ein anderes Gerät übertragen wird, und sie muss die zugehörige .odexDatei haben, um überhaupt ausgeführt zu werden.

ROMs werden in der Regel in deodexierter Form veröffentlicht, da sie relativ einfach thematisiert und modifiziert werden können, wohingegen das Thematisieren / Modifizieren eines odexierten ROMs im Grunde unmöglich ist (bestenfalls würde es wie verrückt abstürzen). Einige Leute entscheiden sich auch dafür, ihre ROMs in odexed Versionen für Leute zu veröffentlichen, die die Leistungssteigerung vorziehen würden.

Ich gehe davon aus, dass die meisten der von mir gesehenen Standard-ROMs odex sind, da die Betreiber / Hersteller eine Leistungssteigerung wünschen. Sie haben auch keine offiziellen Theming-Methoden, daher ist es ihnen wahrscheinlich egal, ob Sie die Farben Ihrer Statussymbole, Ihres Systemtexts oder ähnliches nicht ändern können. Außerdem haben sie den Vorteil, dass sie wissen, auf welchem ​​Gerät ihr System ausgeführt werden soll, sodass sie die .odexDateien sehr einfach vorkompilieren können, wie ich mir vorstellen kann. Als zusätzlichen Bonus ist es schwierig, .apkDateien vom Gerät abzurufen und mit anderen zu teilen.

Bearbeiten: Da ich gerade festgestellt habe, dass ich den Unterschied hier nicht sehr deutlich gesehen habe - ein "odexed" -ROM ist einer, in dem die Apps vorkompiliert wurden und daher zugehörige .odexDateien enthalten , die sich außerhalb der .apkDateien befinden. Ein "deodexiertes" ROM ist ein ROM, in dem Daten, die in den .odexDateien optimiert wurden, mehr oder weniger in die .apkDateien zurückgeführt wurden (dh, es ist nicht optimiert, sondern im Grunde plattformunabhängig), sodass die .apkDateien in sich geschlossen sind und keine .odexDateien vorhanden sind . Dies geschieht normalerweise nur mit einem Deodex-Dienstprogramm wie smali / baksmali .


Die letzte Änderung, die die Dinge expliziter machte, war sehr nützlich. +1
rbrito

7

Ich persönlich wollte vor einiger Zeit die Antwort darauf wissen. Folgendes habe ich mir ausgedacht:

Odexed und Deodexed

Für die Veröffentlichung sollte ein Standard-ROM odexed sein, damit Apps reibungsloser und schneller in den Speicher geladen werden können. Jedes .apk hat einen entsprechenden .odex. Wenn die Anwendung entweder vom System oder vom Benutzer verwendet wird, wird der ODEX verwendet, um das Laden der App zu starten. Ein desodexiertes ROM enthält nur die APK-Datei. Wenn die Anwendung nur vom Abrufen der Daten aus der .apk-Datei in den Speicher aufgerufen wird, dauert dies länger, da sie nicht für den einfacheren Abruf vom System optimiert wurde.

Häufige Fragen, die mir zu oft gestellt werden, sind:

  1. Warum werden benutzerdefinierte ROMs desodexiert?
  2. Sollte ich ein odexed oder ein deodexed ROM verwenden?

Bei der Beantwortung dieser Fragen kommt es auf ein Wort an: die Thematik. Wenn Sie mit jemandem sprechen, der ROMs zum Thema hat, werden Sie darauf hingewiesen, dass es extrem einfacher ist, ein desodexiertes ROM zum Thema zu machen. Seit wir desodexierte ROMs verwenden, können Themes nun Themes erstellen, die auf ein ROM angewendet werden können, anstatt die mühsame Option, das ROM selbst zu thematisieren (veröffentlichen Sie ein benutzerdefiniertes ROM für ein Theme). Wenn Sie ein odexed-ROM verwenden und versuchen, Themen anzuwenden, funktioniert es nicht oder es werden nur einige visuelle Aspekte behandelt, wodurch Sie eine fürchterliche Benutzeroberfläche zum Erleben haben.

Deodex Cons

Ich wette, Sie fragen sich jetzt, warum ... warum es überhaupt eine Option gibt, ein benutzerdefiniertes ROM herunterzuladen, das odexed ist? Die Antwort darauf ist Geschwindigkeit. Erinnern Sie sich, wie ich sagte, dass gerundete Dateien für einen einfacheren Abruf optimiert sind? Einfach ausgedrückt ... es ist optimiert (wie das Indizieren einer Datentabelle), sodass das System die .apk-Datei schneller öffnen kann.

Deodex und Zipalign

Jeder wollte das Beste aus beiden Welten, so schnell, nachdem der deodexierte Trend seinen Höhepunkt erreicht hatte, entwickelten diese versierten ROM-Entwickler eine Lösung für Zipalign beim Booten. Dadurch wird jede APK-Datei bei jedem Neustart optimiert, sodass das System effizienter und vor allem schneller auf Anwendungen zugreifen kann. Der Nachteil sind natürlich etwas langsamere Bootzeiten.

Zusammenfassung

Wenn Sie die Wahl haben, das benutzerdefinierte ROM als Odex oder Deodex herunterzuladen, würde ich einfach das Deodex-ROM verwenden. Sie wissen nie, wann Sie ein Thema ausprobieren oder einige Änderungen selbst vornehmen möchten, und es ist schön, einfache Optionen zu haben, anstatt ein ganz neues ROM zu flashen. Bei neueren Geräten wird möglicherweise nicht einmal ein merklicher Unterschied zu Zipalign beim Booten festgestellt. Wenn Ihr Gerät ziemlich langsam und veraltet ist, dann würde ich vorschlagen, etwas härter darüber nachzudenken. Ich wette, einige von Ihnen würden es vorziehen, ein nettes, minimal optimiertes (odexiertes) ROM zu erhalten, um eine bessere Leistung und Geschwindigkeit gegenüber dem Anpassen der Benutzeroberfläche zu erzielen.

Wenn Sie neu in diesem Thema sind, finden Sie einige häufig verwendete Begriffe in meinem ursprünglichen Artikel hier: http://codeversed.com/deodexed-vs-odexed-rom

Ansonsten zeigt Ihnen das Obige alles, was Sie wissen müssen. Wenn ich etwas verpasst habe, lass es mich bitte wissen :)


1

Eine .dex-Datei (dalvik executable) ähnelt im Wesentlichen den .exe-Dateien von Windows (außer in der Sprache von Dalvik VM anstelle von kompiliertem Code). Grundsätzlich beziehen sich .odex (optimierte dalvik-ausführbare Datei) und deodex (deoptimierte dalvik-ausführbare Datei) darauf, wie Ressourcendateien in den Anwendungen behandelt werden. Die .odex-Datei ist eine .dex-Datei, die vom Programm dexopt optimiert wurde: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

Vorteil

  • Odex ist schneller
  • es macht das Thema leichter

Nachteil

  • Deodex ist beim ersten Start langsamer
  • Die ODEX-Dateien erschweren das Theming

"Deodex" bedeutet nicht de-optimiertes .dex, sondern das Entfernen der .odex-Dateien (im Wesentlichen das De-Hinzufügen der .odex-Dateien). eldarerathis hat es richtig.
Matthew Read

Vielen Dank für die kritische Information, dass es beim Odexen um Ressourcen geht! Das heißt: Der exe-Vergleich ist nicht so toll.
Paul
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.