胖二进制文件是可以在多个架构上运行的二进制文件。基本上,它由一个程序编译两次,每个架构编译一次,然后写入同一个文件。最著名的例子可能是 Apple 的“通用”二进制文件,它允许为 Intel 和 Power PC 架构编译程序,并从同一个可执行文件运行。
这对 Java 来说从来都不是问题,因为 Java 在 JVM 上运行,允许它在任何支持 JVM 的计算机上运行。但是,Android现在很流行,而且Android的VM(Dalvik),不兼容JVM。是否有某种方法可以将代码编译两次,并创建一个可以由 JVM 和 Dalvik 执行的类文件?如果没有,这甚至可能吗?