目次:
クラーク は書いている、
odexとdeodexの実際の意味は何ですか? ほとんどすべてのカスタムROMスレッドで言及されている用語を見て、理解できる答えが見つかりません。 Android Centralが役立つことを期待しています。
素晴らしい質問、クラーク。 そして、私は、ほとんどの人が理解できる用語で答えることができると思います。 既に述べたように、電話とタブレットの両方のカスタムROMまたは各種ハッキングに関する多くのフォーラムの投稿で、odexとdeodexedという用語が表示されています。 開発者が「ストック」ROMからデオデックスROMを作成するには、OEMとGoogleの両方から同様に多くの作業が必要です。
まず、odexファイルとは何かを知る必要があります。 これは、少ないリソースを使用してDalvik仮想マシンがより速くロードできるように事前に構築されたアプリケーション(.apkファイル)の一部です。 Android搭載の携帯電話またはタブレットの/ system / app /フォルダーを見ると、ほぼすべてのアプリケーションに.apkファイルと.odexファイルの両方があることがわかります。 これらのファイルは、Dalvik VMを介して連携して、デバイス上でアプリを正常に実行します。 休憩の後にすべて分解しましょう。
Dalvik VM
Dalvik VMはAndroidシステムの大部分です。 これは、Javaで記述されたサードパーティアプリケーションを携帯電話またはタブレットで実行できるようにするコンポーネントです。 システム自体がDVMを起動し、アプリを起動するために押すと動作します。.apkファイル内のデータを取得し、Just-in-time(JIT)コンパイラーを使用して、情報をプログラムに組み込み、実行します。 コードの一部が既に最適化され、DVMが実行できるファイルに組み込まれていると、プロセスが高速になり、使用するリソースが少なくなります。 それがodexファイルです。
Odexファイル
システムフォルダーに表示されるodexファイルは、アプリケーション自体を作成および作成したユーザーによって作成されます。 AndroidアプリはJavaで記述され、バイトコードに変換されます。 次に、標準のJava Virtual Machine互換の.classファイルから、Dalvik VMが読み取れる特別なタイプのファイルに変換されます。 これらは.dexファイルと呼ばれます。 これらの.dexファイルが残りのコード(.apkファイル内)の外側に配置されると、スタンドアロンの.odexファイルが残ります。
スタンドアロンの.odexファイルを用意するのには、十分な理由があります。 システムの起動時にDalvikキャッシュを構築することにより、起動時間(特に最初の起動)を高速化します。 また、可能な場合はAndroidフレームワークをポイントすることでスペースを節約し、アプリケーション開発者がプログラムを最適化できるようにします。 ただし、separate.odexファイルを使用することは、ハッカーにとって使いやすいものではありません。
脱酸素
ファイルのデオデキシングとは、スタンドアロンの.odexファイルと.apkファイルを取得し、それらを再構築して、この事前に構築されたアプリケーション情報がすべて独自のファイルではなく.apkファイル内に含まれるようにすることです。 Dalvik VMの事前に構築されたデータは、上の図のように、.apkファイル内のclasses.dexファイルになりました。 これにより、.apkファイルが少し大きくなり、システムの起動時にそれらを事前にロードできません。 しかし、ハッカーや彼らがリバースエンジニアリングすることはできます。
プログラムのすべてのコードとデータを1か所にまとめると、ツールを使用してアプリを「アンビルド」し、好きなように編集できます。 これが、「ストック」ROMのバッテリーパーセンテージMODなどのテーマと調整の方法です。 開発者が変更を行った後、.apkファイルを再構築すると、変更を実行できます。 コードやデータは他のアプリと共有されないため、これはシステムの他の部分には影響しません。
どちらを選ぶべきですか?
それは本当にあなた次第であり、あなたのニーズはどうなるでしょうが、可能な限りdeodexバージョンをフラッシュすることをお勧めします。 はい、odex ROMはより高速に起動しますが、すべてのシステムアプリがDalvik VMによって事前にキャッシュされている最初の起動時にのみ気付くでしょう。 また、odexファイルを使用してかなりのスペースを節約することもできますが、このスペースはすべてシステムパーティション内にあり、電話またはタブレットが別のアプリケーションパーティションを使用している場合、より多くのアプリのためのスペースを確保できません。 今日の最新の携帯電話とそのマルチコアプロセッサ、および巨大なRAMバンクを使用すると、アプリケーションの読み込み時間が短縮されることさえありません。
ステータスバーの変更、TouchWizやSenseのテーマの変更などを行う場合は、deodex ROMが必要です。 また、設定メニューの変更やフレームワークの編集など、非常にクールなシステムの微調整を行うには、deodex ROMが必要になります。 つまり、ブートローダーのロックを解除してルート化しており、カスタムROMの準備ができている場合は、おそらくデオデックスバージョンを選択するのが最良の選択です。 これらのクレイジーな開発者が思い付くことができることに驚かれることでしょう。そして、自分で試してみたい少数の人にきっと出くわすでしょう。