https://myblog-maurice.blogspot.com/2011/12/android-hal.html
https://github.com/kangear/mokoid-read-only
https://www.dre.vanderbilt.edu/~schmidt/PDF/Android-HAL.pdf
HAL: xxx.so
android\hardware\libhardware:
add include/hardware/XXX.h
add modules/LcdThermalProtection/Android.mk、XXX.cpp
modify modules/Android.mk: hardware_modules := XXX
base.mk add :
#LIBLCDTHERMALPROTECTION
LIBLCDTHERMALPROTECTION := LcdThermalProtection.default
PRODUCT_PACKAGES += $(LIBLCDTHERMALPROTECTION)
============================================
Framework: App -> Manager -> Service -> JNI -> hardware module
app:
SystemServiceRegistry.java -> registerService
hardware: manager
ILcdThermalProtectionManager.aidl
LcdThermalProtectionManager.java -> ILcdThermalProtectionManager.Stub.asInterface
services:
services/core/java/com/android/server
LcdThermalProtectionService.java
jni:
Android.mk
com_android_server_LcdThermalProtectionService.cpp
onload.cpp -> register_android_server_LcdThermalProtectionService
java/com/android/server:
SystemServer.java -> startService
Android.mk -> core/java/android/hardware/ILcdThermalProtectionManager.aidl \