What C standard library does Android use?

The story behind the answer

Android uses Bionic as its C standard library. Bionic supplies core C-library functionality, along with components such as libm for mathematics and libdl for dynamic linking, while working specifically with the Linux kernel underneath Android.

Google designed Bionic for mobile hardware, where memory, storage, battery life, and processor performance were more constrained than on desktop Linux systems. Its implementation combines original Android code with code from BSD projects, and its permissive BSD-style licensing helped avoid the licensing and distribution complications associated with statically linking proprietary software against glibc.

Bionic is not simply a renamed version of glibc. It has its own application binary interface and omits or modifies some interfaces that are common on conventional Linux distributions. Android’s C++ standard library is a separate matter: current Android uses LLVM libc++, while Bionic is the C library. That distinction is a frequent source of confusion.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: