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

时间:2011-02-01 19:56:44

标签: android

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

4 个答案:

答案 0 :(得分:17)

每个人都在这里,但让我稍微澄清一下整个过程 - 它是如何运作的:

  1. 我们使用来自标准J2SE发行版的普通Java编译器并生成.class文件 - 也称为Java VM的字节代码
  2. 然后使用Android SDK(aapt)中包含的工具 - 我们从.class文件生成.dex文件 - 换句话说Dalvik VM字节码
  3. 最后我们将所有这些文件(.dex +资源)压缩成zip存档,我们以前将其命名为.APK文件 - 有点Android安全可执行文件
  4. 从这个角度来看 - 很明显Android既不是J2ME(运行所谓的Kylobyte VM字节码),也不是J2SE(运行Java VM字节码)......

    但从其他角度来看,Android更接近于J2SE - 因为它基于JVM字节码的顶部。

答案 1 :(得分:9)

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

答案 2 :(得分:5)

Android使用 Dalvik

  

Dalvik是虚拟机(VM)   谷歌的Android操作系统。   因此,达尔维克是其中不可或缺的一部分   Android,通常用于   移动设备,如手机,   平板电脑和上网本。之前   执行,Android应用程序   转换成紧凑的Dalvik   可执行(.dex)格式,即   旨在适用于系统   受到约束的   内存和处理器速度。

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

答案 3 :(得分:0)

GNU项目“J2SE for Android”。

  1. 它提供了Swing和AWT类,因此您可以使用此库在Android上运行J2SE应用程序。
  2. 它实现了大多数功能,而不是全部。