Search code examples
delphifiremonkeydelphi-xe5delphi-xe6delphi-xe7

Does Delphi support ARMv5 and ARMv6 CPU's?


Does Delphi support ARMv5 and ARMv6 CPU's and is there a way to make my app work on them?


Solution

  • The answer is no because Delphi compiles native code targeted at a specific CPU, in this case ARMv7 with NEON support.

    David I posted this on the subject:

    Brian Long gives additional Android requirements in his blog post at http://blog.blong.com/2013/09/delphi-for-android-aka-delphi-xe5-aka.html?showComment=1378942045563&m=1

    Here is what he lists from our Documentation:

    Android requirements

    Because the Delphi compiler generates native machine instructions, its output is processor-specific. In other words it doesn’t target the Dalvik Virtual Machine, where regular Android applications reside, which are basically Java p-code applications that are executed by a variant of the Java VM. Instead it generates raw machine code, as all the current wave of Delphi compilers do (the long gone Delphi for .NET was the exception to this general rule). So because it’ a compiler compiling native machine instructions Delphi’s Android support has the following requirements:

    there must be a GPU

    the CPU must be ARMv7 with NEON instruction support

    the OS on the target device must be one of: GingerBread: Android 2.3.3+ (MR1 or later), which is API level 10 Ice Cream Sandwich: Android 4.0.3+ (MR1 or later), which is API level 15 Jelly Bean: Android 4.1+ (release, MR1, MR2 or later), which are API levels 16, 17 and 18

    Embarcadero clearly states in their manual what is supported.