首先,微软的XP已经包含了支持所有CPU的HAL,而且对X86来说指令集固定的,遵守Intel那套规范。所以从这个方面上来看,XP也很庞大,里面有很多为了支持用到的冗余包。
基于手机应用的安卓就不一样了,手机的硬件限制导致不能把所有的东西都包进来,而且ARM本身不做CPU,它只提供core,一些外围设备,例如LCD controler, DDR controller由第三方的芯片制造商来完成,所有尽管ARM的指令集也是固定的,但除了core以外的设备需要不同的HAL支持,导致了你所说的问题。
而APK相当于应用程序,与硬件无关,只要是安卓的系统便能够安装,这是因为操作系统已经解决了和底层硬件的联系问题,不需要应用程序去关注了。