Name Date Size #Lines LOC

..--

audio/H25-Apr-2025-1,050835

audio_remote_submix/H25-Apr-2025-2,1091,662

camera/H25-Apr-2025-16,91911,205

consumerir/H25-Apr-2025-157114

fingerprint/H25-Apr-2025-158118

gralloc/H25-Apr-2025-1,094742

hwcomposer/H25-Apr-2025-181128

input/evdev/H25-Apr-2025-2,7471,777

local_time/H25-Apr-2025-158114

nfc/H25-Apr-2025-10875

nfc-nci/H25-Apr-2025-159113

power/H25-Apr-2025-10475

radio/H25-Apr-2025-1,098903

sensors/H25-Apr-2025-13,0579,859

soundtrigger/H25-Apr-2025-965796

thermal/H25-Apr-2025-221172

tv_input/H25-Apr-2025-179127

usbaudio/H25-Apr-2025-2,1551,658

usbcamera/H25-Apr-2025-1,9141,230

vibrator/H25-Apr-2025-238170

vr/H25-Apr-2025-8657

README.androidH A D25-Apr-2025878 2415

README.android

1Default (and possibly architecture dependents) HAL modules go here.
2
3
4libhardware.so eventually should contain *just* the HAL hub
5(hardware.c), everything in it should be rewritten as modules.
6
7Modules are .so in /vendor/lib/hw/ and have a well defined naming
8convention:
9
10    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.product.board>.so
11    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.board.platform>.so
12    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.arch>.so
13    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.default.so
14
15They also have a well defined interface which lives in include/hardware/.
16
17A module can have several variants: "default", "arch" and "board", and they're
18loaded in the "board", "arch" and "default" order.
19The source code for the "board" variant, usually lives under partners/...
20
21The source code for "default" and "arch" would usually
22live under hardware/modules/.
23
24