We built the Android emulator in Chapter 2, Setting Up the Development Environment. In order to have an overview of Android emulator HAL, we can take a look at the $OUT/system/lib/hw folder as follows:

We can see that there is a list of shared libraries. These are the shared libraries of goldfish HAL. The source code of the preceding shared libraries can be found in the device/generic/goldfish folder. The following table shows the relationship between the shared library, device node, and hardware module:
|
Hardware |
Device |
Lib (HAL) |
|
audio |
/dev/eac |
audio.primary.goldfish.so |
|
camera |
/dev/qemu_pipe |
camera.goldfish.jpeg.so |
|
fingerprint |
/dev/qemu_pipe |
fingerprint.goldfish.so |
|
gps |
/dev/qemu_pipe |
gps.goldfish.so |
|
lights |
/dev/qemu_pipe |
lights.goldfish.so |
|
power |
/dev/qemu_pipe |
power.goldfish.so |
|
sensors |
/dev/qemu_pipe |
sensors... |