1

おそらくばかげている!@#質問。

Android用のアプリの開発については何も知りませんが、Android用のアプリケーションをコンパイルすると、生成されるコードはPURE ANDROID NATIVE CODEなのか、それともJava仮想マシンと互換性のあるコードなのか疑問に思いました。

どうもありがとう。

4

3 に答える 3

3

独自の仮想マシンDalvikがあります。

于 2012-07-26T17:16:23.867 に答える
1

Android用のほとんどのアプリはJavaアプリです。これらはJavaコンパイラによって.classファイルにコンパイルされ、次にdxコンパイラが.classを取得して.dexファイルにコンパイルします。.dexファイルは、Android上のDalvik VM(Java VM)によって実行可能です。

Dalvik VMはJavaコードを実行するように作られていますが、コンピューター上の標準のJavaVMとは大きく異なります。標準VMは「スタックベース」のマシンですが、DalvikVMは「レジスタベース」です。

NDKを使用してアプリを作成し、CまたはC++で作成することもできます。これはJavaとはまったく互換性がありません(ただし、ネイティブCコードをJNIを使​​用してJavaコードとインターフェースすることはできます)。

于 2012-07-26T17:18:14.993 に答える
1

それを行うには、少なくとも3つの方法があります。

  1. すべてのJava
  2. すべてネイティブ
  3. 半分はJava、半分はネイティブ。AndroidライブラリはCで記述し、ネイティブコードにコンパイルして、Javaから呼び出すことができます。必要に応じて、アプリケーションは両方を組み合わせたものにすることができます。

詳細: http: //en.wikipedia.org/wiki/Android_software_development#Native_development_kit

于 2012-07-26T17:23:49.647 に答える