Android relies on libbionic instead of the widespread glibc. With the usage of libhybris it is possible to use Android device drivers with other Linux kernel-based operating systems as well.
The Bionic libc is a derivation of the BSD's standard C library code that was originally developed by Google for their Android operating system based on the Linux kernel. Bionic has several major features specific to the Linux kernel, and its development continues independently of other Android's source code bases.
the most widespread standard C libraries for the Linux kernel are the GNU C Library and uClibc, which are both subject to the GNU Lesser General Public License (LGPL); in contrast to the GPL, the LGPL explicitly allows for dynamic linking but it does not allow static linking of proprietary software (cf.Static library)
Small size: Bionic is much smaller than the GNU C Library (glibc) and somewhat smaller than uClibc.
Speed: Bionic is designed for CPUs at relatively low clock frequencies.
Bionic lacks many features found in full libc implementations, such as wide character and C++exception handling support. Also some functions defined in the Bionic header are still unimplemented, which may trigger unexpected behavior in some cases.
As of Android Jelly Bean MR1 (4.2), bionic includes support for Glibc's FORTIFY_SOURCE. FORTIFY_SOURCE is a feature where unsafe string and memory functions (such as strcpy, strcat, and memcpy) include checks for buffer overruns when buffer sizes can be determined at compile time. This feature is only available for applications compiled with gcc for ARM processors.
^Turner, David (2009-02-07). "Questions about Bionic". "The name "Bionic" comes from the fact that it is part-BSD and part-Linux: its source code consists in a mix of BSD C library pieces with custom Linux-specific bits used to deal with threads, processes, signals and a few others things."