2013-08-28 20 views
5

Android SDKにJDKが必要な理由を理解しようとしています。Android SDKにJDKが必要なのはなぜですか?

  • Android SDKは、実装の潜在的可能性を考慮して、必要なすべてのJDK Javaクラスを用意しているとは限りません。
  • JDKに含まれるすべてのツールで必要ですか?
  • .dex & .apkファイルをビルドするときにJDKを使用しますか?
  • Android JavaクラスはJava 5または6コンパイラ準拠で作成する必要があるとはどういう意味ですか?

おかげ

答えて

7

ANdoBuild

典型的なビルドのための一般的なプロセスを以下に概説されています

  • Androidの資産パッケージング・ツール(AAPT)は、アプリケーションなどAndroidManifest.xmlファイルとして リソースファイルを、取り、 XML ファイルをアクティビティ用にコンパイルします。 Javaコードからリソースを参照できるように、R.javaも です。
  • aidlツールは、あなたが持っている.aidlインターフェイスをJava インターフェイスに変換します。
  • R.javaおよび.aidlファイルを含むすべてのJavaコードは、Javaコンパイラでコンパイルされた であり、.classファイルが出力されます。
  • dexツールは.classファイルをDalvikバイトコードに変換します。 プロジェクトに含まれている パーティライブラリと.classファイルも.dexファイルに変換され、 が最終の.apkファイルにパッケージ化されます。
  • コンパイルされていないリソース(画像など)、コンパイル済みのリソース、および .adxファイルはapkbuilderツールに送信され、 .apkファイルにパッケージされます。
  • .apkがビルドされたら、デバイスにインストールする前に、デバッグまたは リリースキーを使用して署名する必要があります。
  • 最後に、アプリケーションがリリースモードで署名されている場合は、 .apkとzipalignツールを整列する必要があります。最終的な.apkファイルを に合わせると、アプリケーションがデバイス上で実行されているときのメモリ使用量が減少します。

More referance here..

1

AndroidのSDKは.classバイトコードにあなたの.javaファイルをコンパイルするJDKを使用しています。

+0

だから.dexファイルが.classファイルから作られていることを意味しますか? – JeromePApp

+0

Android SDKには「ecj」が含まれています。jar "またはEclipse Java Compiler jarのように、別のjava 5/6互換コンパイラは必要ありません。 – Harshiv

0

プロジェクトをビルドすると、すべての.javaファイルが.classに変換されます。 JDKが必要です。

adkのdxツールは、すべての.classファイルをclasses.dexファイルに変換します。このclasses.dexファイルは、dalvik仮想マシン上で実行されます。

関連する問題