Supported CPU Architectures
The SDK includes native libraries for following Android ABIs:
- 32-bit ARMv7 (
- 64-bit ARMv8 (
- 32-bit x86 (
- 64-bit x86 (
This ensures best optimization and performance on most Android devices currently sold. When your app is installed on the device, the appropriate native binary is unpacked from the APK and used.
If your app contains any other native libraries, you'll have to make sure you only have
x86-64 versions of them as well. That is due to Android demanding that all loaded native libraries be built for the same architecture. For example, if the first native library loaded is
armeabi-v7a, Android will look ONLY for
armeabi-v7a libraries on all
System.loadLibrary() calls after that. If it doesn't find that exact architecture, it'll throw the
Minimum required architecture
ARMv8 devices can load and run both
armeabi-v7a binaries. x86 devices can load and run
armeabi-v7a binaries via
libhoudini layer. This means that if you're really pressed for binary size, you can only ship
armeabi-v7a native libraries and your application will still work on ARMv7, ARMv8, x86 and x86-64 devices.
This will come at a cost of general performance - about 20-30% performance hit when rendering on modern ARMv8 devices and more severe 30-60% hit on x86 devices.
See Stripping away architectures guide in this FAQ.
Since every architecture shipped adds about 5-10MB to final application APK, we're shipping bare minimum for best performance. Prominently is
armeabi for following reasons:
armeabi- ARMv5/6 are old architectures which haven't been used in years. These chips haven't been used since times of Android 2.3 and, due to limitations of architecture, PSPDFKit rendering was just too slow to be usable. This is why we don't ship this architecture at all. All new devices (Android 4.0 or newer) support at least ARMv7 architecture with NEON. Also, support for
armeabiwas removed within the NDK 17.
mips64- MIPS is exclusively used for some rare embedded uses of Android. There has been no Android phone or tablet with MIPS core released in general market.