AndroidはJava言語を制限付きで使用しているJava SDKであり、GoogleはそれがJavaではないと主張しています。しかし、Androidはプログラミング言語です。あるいは、AndroidはJavaのフレームワークですか? ?
Androidは、独自のフレームワークを提供するOS(さらに、以下を参照)です。しかし、それは明らかに言語ではありません。
Androidは、オペレーティングシステム、ミドルウェア、主要なアプリケーションを含むモバイルデバイス用のソフトウェアスタックです。 Android SDKは、Androidプログラミング言語を使用してJavaプラットフォームでアプリケーションの開発を開始するために必要なツールとAPIを提供します。
AndroidはJava言語を使用していません。JVMバイトコードをAndroidが理解できるDalvikバイトコードに変換するオフラインコンパイルプロセスがありますが、付属するものはありません。 Android Javaを直接理解または操作します。代わりに、他の既存のツールを使用してJava(または他のJVM言語)をバイトコードにコンパイルしてから、それをDalvikに送り、残りの部分に進みます。
Javaは、Android開発でサポートされている選択言語です。Googleは、Java言語と人気のあるEclipseのプラグインJava IDEなので、人気のある言語でAndroidアプリを作成するための簡単に利用できるツールセットがありました。
ここで混乱する部分は、Java言語とJava仮想マシンは2つの異なるものです。標準のJavaプログラムはPCで実行され、Sun Microsystemsで実行するためにバイトコードにコンパイルされた実行コードですJava仮想マシン。基本的にAndroid同様に、バイトコードを実行する独自の仮想マシンがあります。実行してAndroid appを実行すると、その実行中のコードは、Android仮想マシンは理解します。したがって、Javaが最適な言語ですが、技術的にAndroidアプリをコンパイルして、 Androidバイトコード。(他の言語で利用できるツールはないと思いますが)
Androidは、誰でも使用できる無料のオープンソースプラットフォームです。 Androidオペレーティングシステムは、各アプリケーションが異なるユーザーであるマルチユーザーLinuxシステムです。そしてAndroidは、コアシステムサービスなどのLinuxバージョン2.6に依存していますセキュリティ、メモリ管理、プロセス管理、ネットワークスタック、およびドライバーモデルとして。
Androidは、オペレーティングシステム、ミドルウェア、主要アプリケーションを含むモバイルデバイス向けのオープンソースソフトウェアスタックです(ソリューションスタックは、製品やサービスなどの完全に機能するソリューションを提供するために必要なソフトウェアサブシステムまたはコンポーネントのセットです)。それで、あなたはそれをフレームワークとして考えることで部分的に正しいです。