Android J2ME或Java SE中正在使用哪个版本的Java?

Android J2ME或Java SE中正在使用哪个版本的Java?

Solutions Collecting From Web of "Android J2ME或Java SE中正在使用哪个版本的Java?"

大家都在这里,但让我稍微澄清整个过程 – 它是如何工作的:

  1. 我们使用标准J2SE发行版中的普通Java编译器生成.class文件 – 也称为Java VM的字节码
  2. 然后使用Android SDK(aapt)中包含的工具 – 我们从.class文件生成.dex文件 – 换句话说,Dalvik VM字节码
  3. 最后,我们将所有这些文件(.dex + resources)压缩到我们用来命名为.APK文件的zip压缩文件中 – 类似于Android可执行文件

所以从这个angular度来看 – 很明显,Android既不是J2ME(运行所谓的Kylobyte VM字节码),也不是J2SE(运行Java VM字节码)…

但从其他angular度来看,Android更接近于J2SE,因为它基于JVM字节码。

Android不是Java ME或Java SE。 Android是一个不同的平台和框架,但Java是Android SDK的编程语言。 Android不使用Java虚拟机,而使用Dalvik 。 还有一个用于C / C ++的Android NDK 。

Android使用Dalvik

Dalvik是Google Android操作系统中的虚拟机(VM)。 因此,Dalvik是Android的一个组成部分,通常用于移动设备,如手机,平板电脑和上网本。 在执行之前,Android应用程序将转换为紧凑的Dalvik Executable(.dex)格式,该格式适用于受内存和处理器速度限制的系统。

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

GNU项目“ J2SE for Android ”。

  1. 它提供了Swing和AWT类,所以你可以用这个库在Android上运行J2SE应用程序。
  2. 它实现了大部分function,而不是全部。