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 文件,这些文件可由 Android 上的 Dalvik VM(即 Java VM)执行。

尽管 Dalvik VM 是为运行 Java 代码而设计的,但它与您计算机上的标准 Java VM 有很大不同。标准 VM 是“基于堆栈”的机器,而 Dalvik VM 是“基于寄存器”的。

您还可以使用 NDK 制作应用程序,并用 C 或 C++ 编写它们。这在任何方面都与 Java 不兼容(尽管您可以将本机 C 代码与带有 JNI 的 Java 代码接口)。

于 2012-07-26T17:18:14.993 回答
1

至少有三种方法可以做到:

  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 回答