为什么用java编写的应用程序只能在android上运行,即使java是独立于平台的

为什么用java编写的应用程序只能在android上运行,即使java是独立于平台的,java,android,Java,Android,几年前,我研究了核心java,因为我读到java的一个特点是它与平台无关。 参考: 现在我正在进行android开发,android应用程序是使用核心java开发的。那么为什么Windowsphone或ios不支持这些应用呢?Android开发使用Java作为其主要开发语言之一。您还可以使用其他语言为Android开发应用程序。例如,最近添加到这组语言中的 当您编译为Android应用程序编写的代码时,它将转换为适合Android VM()的字节码,但不适合Java自己的JVM 这为Androi

几年前,我研究了核心java,因为我读到java的一个特点是它与平台无关。 参考:


现在我正在进行android开发,android应用程序是使用核心java开发的。那么为什么Windowsphone或ios不支持这些应用呢?

Android开发使用Java作为其主要开发语言之一。您还可以使用其他语言为Android开发应用程序。例如,最近添加到这组语言中的

当您编译为Android应用程序编写的代码时,它将转换为适合Android VM()的字节码,但不适合Java自己的JVM


这为Android平台提供了一个优势,即开发者不必学习全新的语言来开发Android应用程序。无论你知道哪种编程语言,你都可以为Android开发应用程序,当你编译代码时,它会将这些受支持语言的代码转换成可以在Android VM上运行的相同字节码。

因为它们不同

Android API不是Java API,只是复制了它的大部分功能,请通过以下链接查看详细信息:


在Java中,首先编译代码,生成字节码。此字节码独立于平台。此代码在JVM中执行。JVM是JRE的一部分。每个平台的JRE都不同。您需要根据您的平台Windows或Linux下载并安装JRE


Android不使用JVM。编译后的字节码是在DVM上运行的Dex字节码。到目前为止,我们只有适用于android的DVM。因此,为android编写的代码无法在其他平台上运行

,因为android编程使用的谷歌API仅适用于android,android与Java不同。android的编译过程与java不同。java被认为是平台独立的,因为有JVM,但android不使用JVM。他们使用一种叫做Dalvik的东西或者其他什么…@Sweeper从android 5开始,他们使用的是艺术运行时