2011-02-01 5 views

答えて

8

Androidは、Java MEまたはJava SEではありません。 Androidは異なるプラットフォームとフレームワークですが、JavaはAndroid SDKのプログラミング言語です。 AndroidはJava仮想マシンを使用せず、Dalvikを使用しています。 C/C++用のAndroid NDKもあります。

+0

thnx jonasあなたはAndroid SDK.myの問題のプログラミング言語であると言っています。JavaのどのエディションがAndroid J2MEまたはJava SEで使用されているかです。 –

+0

@Adil:これはAndroid MEのJava MEやJava SEではありません。これは異なるコンパイラと異なる仮想マシンです。だからAndroidは別のJava版として見ることができます。 AndroidはJava SEライブラリのサブセットのみを使用していますが、他のカスタムライブラリも使用しています。 – Jonas

+0

thnx jonasがわかりました –

5

アンドロイドはのDalvik

のDalvikは GoogleのAndroidオペレーティングシステムの仮想マシン(VM)で使用しています。 Dalvikは、 Androidの不可欠な部分です。携帯電話などのモバイルデバイスの 携帯電話、 タブレットコンピュータ、およびネットブックで通常使用されています。 実行する前に、Androidアプリケーションは メモリとプロセッサ速度の点で制約されているシステム に適するように設計 コンパクトのDalvik 実行可能(.dex)フォーマットに変換 あります。

http://en.wikipedia.org/wiki/Dalvik_virtual_machine

+0

ありがとうSQLMenace –

+2

"Android Runtime(ART)は技術的プレビューとしてAndroid 4.4" KitKat "に含まれていました.ArtはAndroid 5.0" Lollipop "でDalvikを完全に置き換えました – michael

14

みんなはここですが、私は少し全体の手順明確にしましょう - それはどのように動作するかを:私たちは、標準J2SE分布から通常のJavaコンパイラを使用し

  1. と.classファイルを生成します - Java VMのバイトコードとしても知られています
  2. 次に、Android SDK(aapt)に含まれるツールを使用して、.classファイルから生成します.dexファイル - 言い換えればDalvik VMバイトコード
  3. は、最終的に我々はの.apkファイルとして名前を付けるために使用されたzipアーカイブにすべてのこれらのファイル(.dex +リソース)を圧縮 - ちょっとAndroidの実行可能ファイルを

ので、この観点から - それは、AndroidがどちらJ2MEことは明らかです(Kylobyte VMバイトコードと呼ばれる)やJ2SE(Java VMバイトコードを実行する)も、J2SE(Java VMバイトコードを実行する)ではなく、J2SEにも近いです。

0

GNUプロジェクト "J2SE for Android"です。

  1. これはSwingクラスとAWTクラスを提供するため、このライブラリを使用してAndroidでJ2SEアプリケーションを実行できます。
  2. すべてではなく、ほとんどの機能を実装しています。
関連する問題