dexファイルについて質問があります
dex
Androidのファイルとは何ですか?- Androidではdexはどのように機能しますか?
- Androidアプリのデバッグにどのように使用されますか?
- それらはJavaクラスファイルに似ていますか?
特定の情報が必要です。これについて助けてください。実際の例は大歓迎です!
dexファイルについて質問があります
dex
Androidのファイルとは何ですか?特定の情報が必要です。これについて助けてください。実際の例は大歓迎です!
回答:
.dexファイルについて:
の最も注目すべき機能の1つDalvik Virtual Machine
(Androidシステムでの主力)は、Javaバイトコードを使用しないことです。代わりに、DEXと呼ばれる独自のフォーマットが導入され、バイトコード命令でさえJavaバイトコード命令と同じではありません。
Compiled Android application code file.
Androidプログラムは.dex
(Dalvik Executable)ファイルにコンパイルさ.apk
れ、デバイス上の単一のファイルに圧縮されます。.dex
Javaプログラミング言語で記述されたコンパイル済みアプリケーションを自動的に翻訳することにより、ファイルを作成できます。
Dexファイル形式:
1. File Header
2. String Table
3. Class List
4. Field Table
5. Method Table
6. Class Definition Table
7. Field List
8. Method List
9. Code Header
10. Local Variable List
AndroidにはDalvik Executable Format
(.dexファイル)に関するドキュメントがあります。詳細については、公式ドキュメント:Dexファイル形式をご覧ください。
.dex
ファイルはjavaクラスファイルに似ていますが、古いAndroidバージョンではDalkvik仮想マシン(DVM)の下で実行され、デバイスでのインストール時に、新しいAndroidバージョンではARTを使用してネイティブコードにコンパイルされました。
android-sdkで提供されるツールをdecompile
使用して.dexを実行できdexdump
ます。
ファイルから、またはファイルから作成するリバースエンジニアリングテクニックもあります。jar file
java class file
.dex
dexdump
は、逆コンパイラではなく逆アセンブラであるということです
.dex file
コンパイルされたAndroidアプリケーションコードファイル。
Androidプログラムは.dex(Dalvik Executable)ファイルにコンパイルされ、デバイス上の単一の.apkファイルに圧縮されます。.dexファイルは、Javaプログラミング言語で記述されたコンパイル済みアプリケーションを翻訳することにより、Androidによって自動的に作成できます。
dex
fileは、Dalvik VMで実行されるファイルです。
Dalvik VMには、パフォーマンスの最適化、検証、監視のためのいくつかの機能が含まれています。その1つがDalvik Executable(DEX)です。
Javaソースコードは、Javaコンパイラによって.class
ファイルにコンパイルされます。次に、dx
Android SDKの一部である(dexer)ツールが、.class
ファイルをDEX
Dalvikバイトコードを含むと呼ばれるファイル形式に処理します。このdx
ツールは、クラスに存在するすべての冗長な情報を排除します。ではDEX
、すべてのアプリケーションのクラスが一つのファイルにパックされています。次の表は、JVM jarファイルとdex
ツールによって処理されるファイルのコードサイズの比較を示しています。
この表は、システムライブラリ、Webブラウザーアプリケーション、および汎用アプリケーション(目覚まし時計アプリ)のコードサイズを比較しています。すべての場合において、dexツールはコードのサイズを50%以上削減しました。
標準のJava環境では、Javaコードの各クラスは1つの.class
ファイルになります。つまり、Javaソースコードファイルにパブリッククラスが1つと匿名クラスが2つある場合、たとえばイベント処理の場合、Javaコンパイラーは合計3つの.class
ファイルを作成します。
コンパイル手順はAndroidプラットフォームでも同じであるため、複数の.class
ファイルが生成されます。しかし、.class
ファイルが生成された後、「dx」ツールを使用して、すべての.class
ファイルが単一の.dex
、つまりDalvik実行可能ファイルに変換されます。それはある.dex
のDalvik VM上で実行されるファイル。.dex
ファイルには、メモリの使用状況に合わせて最適化されており、設計は主にデータの共有によって駆動されます。