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
- 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.
We recommend the following devices for debugging Android 64-bit applications. There are many Android devices created by many manufacturers, and the experience or ability to successfully debug an application on a device can vary widely. You should test a device to ensure it supports debugging. In general, Android devices with stock, unmodified Android, and provided by the major vendors are most likely to work well; devices with unusual hardware changes to Android may have issues debugging. The following devices are a sample list recommended for debugging Android 64-bit applications.
To debug a 64-bit application, your device must run a 64-bit version of the Android operating system.
64-bit apps on 32-bit hardware
To run Android 64-bit applications on your device, there are two conditions it needs to match:
- The phone needs to have a 64-bit capable CPU
- The installed version of Android needs to be 64-bit. Android version 5 and later support 64-bit.
However, some devices are not configured to use the 64-bit mode. If the device does not support a 64-bit native application, an error message is displayed.
When attempting to debug a 64-bit app from within the IDE on a target device that does not support a 64-bit application, an error message is displayed.
How to verify your Android device can run 64-bit apps
If you want to verify your Android device's CPU can run 64-bit apps, one option is to use existing applications on the Google Play Store, such as:
If it indicates your CPU has a 64-bit ARMv8-A instruction set, but it is set in 32-bit mode, it implies the Android version is not 64-bit. In case of a mismatch, at the moment, you will get the INSTALL_FAILED_NO_MATCHING_ABIS error message.
Testing to See Whether Your Android Device is Supported
The AIDA64 app also 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 it from the Google Play Store and run it on your device: AIDA64 AIDA64 is free (with ads) and does not require special privileges to run.
On the CPU section, you should see a screen similar to the following:
AIDA64 tells you exactly the CPU features that your device supports. Specifically, AIDA64 lists all possible CPU features, provides feature definitions, and indicates whether your particular device supports each feature.
If you see:
- Supported ABIs showing ARMv7 or ARM64 AArch64
- OS Version listed in the Supported Target Platforms (check Android section)
- NEON is listed as Supported
Then the device should work.
Why use AIDA64? 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.