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... |