51

WinRar(圧縮ファイルを開くためのソフトウェア)でAPKファイルを開くとき。APK内にたくさんのファイルが詰め込まれています。その中にclasses.dexは1つあります。私の質問は、このファイルの役割は何ですか?同じファイルを変更/削除すると、APKに影響しますか?

4

5 に答える 5

65

APK ファイルを作成するには、まず Android 用のプログラムをコンパイルし、そのすべての部分を 1 つのファイルにパッケージ化します。これには、そのプログラムのすべてのコード (これらは.dex files)、リソース、アセット、証明書、およびマニフェスト ファイルが保持されます。

プログラムは一般的に で作成されJava、コンパイルされbytecodeます。これらは、デバイスにインストールする前Java Virtual Machine-compatible .class filesに(Dalvik Executable) ファイルに変換されます。Dalvik-compatible .dexコンパクトな Dalvik Executable 形式は、メモリとプロセッサの速度に制約があるシステムに適しているように設計されています。

  • classes.dex: Dalvik 仮想マシンが理解できる dex ファイル形式でコンパイルされたクラス

.dex ファイルには APK リソースが保持されているため、これらのファイルを編集すると APK に直接影響します。

于 2013-01-09T08:00:24.470 に答える
10

.dex ファイル コンパイルされた Android アプリケーション コード ファイル。

Android API ガイドより

Android プログラムはファイルにコンパイルされ、デバイス上で 1 つの.apk.dex (Dalvik Executable)ファイルに圧縮されます。.dex ファイルは、Java プログラミング言語で記述されたコンパイル済みアプリケーションを自動的に翻訳することによって作成できます。

はい、これらのファイルを削除すると、APK に影響します。

于 2013-01-09T07:58:58.077 に答える
5

このファイルの役割は何ですか?

Android での の役割はclasses.dex、プレーンな Java での JAR ファイルの役割に似ています。バイトコードを含むファイルです。Android の場合、バイトコードは Java バイトコードとは異なる Dalvik バイトコードです。

同じファイルを変更/削除すると、apk に影響しますか?

を変更classes.dexすると、プログラムの動作が変更され、再パッケージ後に動作する場合と動作しない場合があります。を削除するclasses.dexと、アプリケーションにコードがなくなり、動作することを期待できなくなります。

于 2016-12-07T14:51:48.747 に答える
1

apk の .dex ファイルは、アプリケーション コード内のすべての Java クラスで構成される圧縮ファイルです。jarファイルとは異なります。jar ファイルは、分離された .class ファイルのコレクションです。.jar を解凍すると、すべてのクラスが個別に取得されます。一方、.dex ファイルは、アプリケーション コードのすべての .class ファイルで構成される単一のファイルです。

コードのコンパイル フロー: 複数の .java ファイル --> 複数の .classes ファイル --> 単一の .dex ファイル

.dex ファイルは、Android のランタイムである DVM...Dalvik 仮想マシンによって実行される実行可能ファイルです。

.dex にはリソースが含まれません。リソースは、.apk の /res フォルダーに個別に保持されます

于 2016-02-16T05:19:37.863 に答える