Android 自己寫了一個 load so 的 interface。讓 hw vendor 可以 implement 自己的 so.
framework 就用 hw_get_module( ) 來load hardware vendor 的 so. 。
so 與 load function 是用 id 來辨識的。
像:
frameworks/base/libs/ui/Overlay.cpp frameworks/base/services/surfaceflinger/DisplayHardware/DisplayHardware.cp都有.
hw_get_module(OVERLAY_HARDWARE_MODULE_ID, &module)
這個呼叫。
實際上會 link 到 (以 imx51 為例):hardware/mx5x/liboverlay/
這個 .so
找一下 hw_get_module...總共出現
ALSA_HARDWARE_MODULE_ID ACOUSTICS_HARDWARE_MODULE_ID SENSORS_HARDWARE_MODULE_ID, COPYBIT_HARDWARE_MODULE_ID, OVERLAY_HARDWARE_MODULE_ID, LIGHTS_HARDWARE_MODULE_ID, GPS_HARDWARE_MODULE_ID
沒有留言:
張貼留言