Android Devices Supported for Application Development
Android Software Requirements
RAD Studio supports development on ARMv7 and AArch64 devices that run in the Android operating system versions detailed in the Supported Target Platforms.
Android Hardware Requirements
We support most Android hardware. The specific requirements are:
- ARM Cortex-A series CPU http://www.arm.com/products/processors/cortex-a/index.php
- ARMv7 or ARM64 Instructions
- NEON Technology
RAD Studio targets the most common CPU architecture for best performance on the largest number of devices possible.
The Details: ARM instruction CPUs are created by a wide variety of manufacturers according to different sets of specifications. ARM is the dominant technology in mobile hardware. The ARMv7 instruction set, or core, specifies the microarchitecture that the CPU uses. The family of CPUs that implement ARMv7 instructions are called the Cortex-A series. Most of these CPUs also include NEON technology. The reason RAD Studio applications require this specific CPU architecture is that RAD Studio apps compile down to machine code for best performance. This is different than other Android apps that are developed with Java that compile down to Dalvik bytecode and then run on the Dalvik virtual machine. Most Android devices have a GPU, or Graphics Processing Unit. It is common for the GPU to be combined with the CPU in a System-on-a-Chip (or SoC) configuration. Any of these configurations should be supported.
Intel-based Android Devices
Android KitKat and superior versions running on Android devices with Intel CPUs, include an emulation library called libhoudini. The translation library is automatically invoked by the operating system, and allows the Intel CPU to interpret and execute binaries compiled for ARM CPUs.
FireMonkey applications are generally compatible with libhoudini library. No additional work is required to add support for the emulation.
Testing to See Whether Your Android Device is Supported
The SysCheck utility provides a quick and easy way to test your system for compatibility. If you are unsure if your device has the required features, you can get SysCheck from the Google Play store and run it on your device: https://play.google.com/store/apps/details?id=com.ss.syscheck&hl=en SysCheck is free, has no ads, and does not require special privileges to run.
You should see a screen similar to the following:
SysCheck tells you exactly the CPU features that your device supports. Specifically, SysCheck lists all possible CPU features, provides feature definitions, and indicates whether your particular device supports each feature.
If you see:
- ARM CPU showing ARMv7 or ARM64 AArch64
- OS Version listed in the Supported Target Platforms
- NEON is listed as yes
Then the device should work.
Why use SysCheck? Some applications can only run under certain chipsets, while others might require NEON support in order to run correctly. Now you can test your device so you have the information you need in order to make other app purchase decisions.
Also, if you are a developer writing NEON-dependent Android apps, you might want to point your users to this app so that they can discover if their particular device supports NEON prior to purchasing your app, which can help reduce user confusion and return requests.