【发布时间】:2010-02-17 19:09:07
【问题描述】:
Android JVM 也可以在 PC 上运行吗?
还是仅限于在移动设备上工作?
据我了解,当您使用 eclipse 进行开发时,它是模拟的,而不是正确运行实际的 jvm?
【问题讨论】:
-
不是重复的。 Q622710 是关于操作系统,而不是 JVM。
-
你会发现这很有趣 | Android x86 移植:android-x86.org
Android JVM 也可以在 PC 上运行吗?
还是仅限于在移动设备上工作?
据我了解,当您使用 eclipse 进行开发时,它是模拟的,而不是正确运行实际的 jvm?
【问题讨论】:
是的,不是的。 Android VM 实际上称为 Dalvik VM。它执行通常打包为 Android Packages (apk) 文件的 dalvik 可执行文件 (dex)。 dex 文件是从在常规 jvm 上运行的 Java 字节码文件(java 编译的输出,.class 文件)创建的。目前,Dalvik VM 在基于 ARM 和 MIPS 的处理器上运行。当您谈论在 PC 上运行时,我假设您正在谈论基于 x86 的计算机。在这种情况下,您需要使用模拟器来运行 vm。 Android SDK 附带的标准模拟器使用 qemu (qemu site) 来运行标准 arm 处理器的模拟器。
还有一个移植到 x86 的工作正在进行中,但目前最常见的方式是仿真。
对于在上网本上运行的 android 而言,这一切都归结为处理器了...
另外请记住,如果您想在 PC 上运行 Android 应用程序,您需要的不仅仅是虚拟机。您基本上需要运行整个 linux 堆栈(例如,包括视频编解码器等)。最简单的方法是运行模拟器。
【讨论】:
所有其他答案都是错误的。如果你真的只想要虚拟机,你可以在 Linux 上运行 dalvikvm。
不过,您必须自己构建它...有关如何执行此操作的详细信息,请参阅我对 How do I make isolated dalvik 的回答。
【讨论】:
是的,Android SDK 附带一个模拟器,用于在 PC 上测试您的应用程序。
程序被编译成 Dalvik 可执行字节码而不是 Java 字节码。详情请见http://en.wikipedia.org/wiki/Dalvik_virtual_machine。
【讨论】:
可以,但必须移植到实际的 PC 架构中。不存在这样的东西(还)AFAIK
【讨论】:
另一个澄清。 Android SDK 模拟器使用 dalvik 字节码。 jvm 参与的唯一方式是编译过程。 Java源代码->java字节码->davlik可执行代码...
【讨论】: