一个胖二进制是可在多个架构上运行的二进制.基本上,它由一个编译两次的程序组成,每个架构一次,然后写入同一个文件.可能最着名的例子是Apple的"通用"二进制文件,允许为英特尔和Power PC架构编译程序,并从相同的可执行文件运行.
这对Java来说从来都不是问题,因为Java在JVM上运行,允许它从任何支持JVM的计算机运行.但是,Android现在非常流行,Android的VM(Dalvik)与JVM不兼容.有没有办法编译代码两次,并创建一个可以由JVM和Dalvik执行的类文件?如果没有,这甚至可能吗?
我正在追踪Dalvik机器的源代码.据此,我想让Dalvik可以运行.我似乎是dvk项目.但是有很多问题导致了错误.有没有办法让dalvik只有没有所有的android.因为make android需要花费太多时间(大约需要几个小时)
dvk项目:http://code.google.com/p/dvk/