libGLESv1_CM.so (OpenGL ES 1.x)
libGLESv2.so (OpenGL ES 2.0)
libGLESv3.so (OpenGL ES 3.x)
libicui18n.so
libicuuc.so
libjnigraphics.so
liblog (Android logging)
libmediandk.so (native media APIs support)
libm (math library)
libneuralnetworks.so (Neural Networks API)
libOpenMAXAL.so (OpenMAX AL 1.0.1 support)
libOpenSLES.so (OpenSL ES 1.0.1 audio support)
libRS.so
libstdc++ (Minimal support for C++)
libvulkan.so (Vulkan)
libz (Zlib compression)
JNI interface
[C-0-8] MUST NOT add or remove the public functions for the native libraries listed above.
[C-0-9] MUST list additional non-AOSP libraries exposed directly to third-party apps in
/vendor/etc/public.libraries.txt
.
[C-0-10] MUST NOT expose any other native libraries, implemented and provided in AOSP
as system libraries, to third-party apps targeting API level 24 or higher as they are
reserved.
[C-0-11] MUST export all the OpenGL ES 3.1 and
Android Extension Pack
function
symbols, as defined in the NDK, through the
libGLESv3.so
library. Note that while all the
symbols MUST be present, section 7.1.4.1 describes in more detail the requirements for
when the full implementation of each corresponding functions are expected.
[C-0-12] MUST export function symbols for the core Vulkan 1.0 function symbols, as well
as the
VK_KHR_surface
,
VK_KHR_android_surface
,
VK_KHR_swapchain
,
VK_KHR_maintenance1
,
and
VK_KHR_get_physical_device_properties2
extensions through the
libvulkan.so
library. Note
that while all the symbols MUST be present, section 7.1.4.2 describes in more detail the
requirements for when the full implementation of each corresponding functions are
expected.
SHOULD be built using the source code and header files available in the upstream Android
Open Source Project
Note that future releases of Android may introduce support for additional ABIs.
3.3.2. 32-bit ARM Native Code Compatibility
If device implementations report the support of the
armeabi
ABI, they:
[C-3-1] MUST also support
armeabi-v7a
and report its support, as
armeabi
is only for
backwards compatibility with older apps.
If device implementations report the support of the
armeabi-v7a
ABI, for apps using this ABI, they:
[C-2-1] MUST include the following lines in
/proc/cpuinfo
, and SHOULD NOT alter the values
on the same device, even when they are read by other ABIs.
Features:
, followed by a list of any optional ARMv7 CPU features supported by
Page 33 of 132