Architecture

The QNX Runtime for APK component is an operating system that runs in conjunction with QNX Neutrino RTOS. It runs natively (not emulated) and is integrated similar to how other UI technologies are integrated within a QNX environment.

APK applications run on a register-based virtual machine, as opposed to the stack-based architecture of Java virtual machines. APK applications run on the Dalvik virtual machine which has been ported from Linux onto the QNX Neutrino RTOS.

When an APK application runs, the virtual machine converts the application code (.apk file format) to machine code (.dex file format) and optimizes it to reuse common code between applications. The final optimized code has an .odex file format. APK files may include native code as libraries (.so). These files will run in the QNX Runtime for APK without any recompiling.

Figure 1. Typical implementation with the QNX Runtime for APK

The figure above shows how the QNX Runtime for APK fits into a typical QNX implementation, such as QNX CAR.

For more information about how the Runtime for APK is isolated from the rest of the QNX system, see "Implementation".