The Android NDK supports the
x86_64 ABI. This ABI allows native code to run on
Android-based devices using CPUs that support the 64-bit x86 instruction set.
Binaries targeting x86_64 will be built by default. If you have set
APP_ABI in your
ensure that it is either set to "all" or includes "x86". For example:
APP_ABI := arm64-v8a x86_64For more information on how to specify values for
APP_ABI, see Application.mk.
The build system places libraries generated for the
x86_64 ABI into
$PROJECT/libs/x86_64/ on your host machine, where
$PROJECT is the root directory
of your project. It also embeds them in your APK, under
The Android package manager extracts these libraries when installing your APK on a compatible 64-bit, x86-powered device, placing them under your app's private data directory.
In the Google Play Store, the server filters applications so that a consumer sees only the native libraries that run on the CPU powering his or her device.
You can use the 64-bit x86 toolchain in standalone mode with the NDK. For more information about doing so, see Standalone Toolchain, under the "Advanced method" section.
The NDK provides native versions of Android APIs for 64-bit x86 machine code
starting from Android 5.0 (Android API level 21). If your project files target
an older API level, but include
x86_64 as a targeted platform, the
ndk-build automatically selects the right set of native platform headers and
libraries for you.