1. ホーム
  2. アンドロイド

[解決済み】Androidの.dexファイルとは何ですか?

2022-04-13 07:16:57

質問

について、いくつか質問があります。 dexファイル

  • とは何ですか? dex のファイルについて教えてください。
  • Androidでのdexの動作はどうなっていますか?
  • Androidアプリのデバッグではどのように使われるのですか?
  • javaのクラスファイルに似ている?

具体的な情報が欲しいので、何か実例があれば教えてください。

どのように解決するのですか?

.dexファイルについて :

の最も顕著な特徴の1つは Dalvik Virtual Machine (Androidシステム下の主力製品)は、Javaバイトコードを使用していないことです。代わりにDEXという国産のフォーマットが導入され、バイトコード命令すらJavaのバイトコード命令と同じではありません。

Compiled Android application code file.

Androidのプログラムをコンパイルして .dex (Dalvik Executable) ファイルに圧縮され、1つの .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 Virtual Machine(DVM)の下で実行され、新しいバージョンのAndroidではデバイスへのインストール時にARTでネイティブコードにコンパイルされています。

できること decompile .dexを使用して dexdump というツールが提供されています。

また、いくつかの リバースエンジニアリング技術 を作成することができます。 jar file または java class file から .dex ファイルを作成します。