Android devices have different processors like ARM and Intel processors. Can Android apps run just the same regardless of which architecture the device has? Or are there apps that will only run on ARM-architecture, etc?
Android devices have different processors like ARM and Intel processors. Can Android apps run just the same regardless of which architecture the device has? Or are there apps that will only run on ARM-architecture, etc?
Yes, applications (APKs) are independent of the architecture.
Android is made up of 4 major levels.
The apps you write is compiled into Dalvik EXecutable (DEX) code, which is finally converted into assembly code (according to the required architecture) by the kernel to send to the processor.
So, the kernel is the final one that's responsible to act according to the required architecture and it's compiled by the ROM developer accordingly.
The DEX code is always independent of the architecture, so that application developers needn't worry about the type of processor.
Q & A