Android应用程序是真正的Java应用程序

Igo*_*evo 5 java android apk

我有一个简单的问题,一直困扰着我.

当你编写Android应用程序时,它是一个Java程序吗?更确切地说,这个代码是在Java VM上执行的,还是仅仅是我们使用Java语言编写一个编译成Android字节代码的程序?

需要JDK的事实表明编译是在Java字节代码中完成的,但是编译产生的文件是APK文件,它不是标准的Java文件.有人可以解释编译Android应用程序时实际发生的事情吗?

Bra*_*rad 3

Android java代码被编译成java字节码。然后再次编译为 Dalvik 并在 Dalvik VM 上运行。采取这一额外步骤的几个原因之一是 Sun 在 JVM 上拥有的许可。如果我们被要求使用 Sun 的 JVM,他们显然会遇到问题。正如上面提到的,维基链接在这里: http: //en.wikipedia.org/wiki/Dalvik_(software)

  • “这个额外步骤的原因是 Sun 在 JVM 上拥有许可”——事实并非如此。Dalvik VM 为 Android 提供了主要的技术优势,特别是在进程之间共享解释器和公共类的能力。这允许具有适度 RAM 的设备运行“大量”Dalvik 支持的进程,从而允许基于 Linux 的安全性发挥作用。http://commonsware.com/blog/Articles/what-is-dalvik.html (3认同)