Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Strange. He talked about that fact that MIPS has been lacking compatibility for Java apps on Android...but completely disregarded the fact that Android L will compile apps natively on MIPS, just like on ARM.


He's talking about something different. While dalvik's going away and apps will soon be compiled with native code, Android apps can already bundle native code in with the app through Java's Native Interface API. Such code is architecture specific, and usually only available for devices running under ARM, with occasional support for x86 processors. Additionally, some native code would only be available for specific architectures; Firefox mobile won't run on older phones because it requires an FPU, which wasn't guaranteed until ARMv7.


"it requires an FPU, which wasn't guaranteed until ARMv7"

That was true until ARM went and broke this rule with the Cortex A5 (which can optionally have the FPU removed)


For legacy, native non-MIPS code, we rely on binary translation.


Given I'd expect most JNI code on Android devices are supporting games, I doubt emulation is going to be a big winner.


From the second page of the article:

Android applications are either written in Java, then compiled on the device to the specific required ISA before running (a processes called JIT compilation), or written in the Android Native Development Kit (NDK) to target a specific ISA. Apps written in Java can therefore run on any ISA that Android itself supports, including MIPS.

I think it was explained pretty well, actually.


It's the native apps (mostly games) that aren't compatible with non-ARM CPUs, not the Java ones.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: