Android defines a user space C abstraction interface for sensor hardware. The interface header is defined in
hardware/libhardware/include/hardware/sensors.h
.
In order to integrate sensors with Android you need to build a shared library that implements this interface.
The types of sensors currently supported by Android include:
- Accelerometer
- Magnetic Field
- Orientation
- Gyroscope
- Light
- Pressure
- Temperature
- Proximity
Building a Sensor Library
To implement a Sensors driver, create a shared library that implements the interface defined in sensors.h
. You must name your shared library
libsensors.so
so that it will get loaded from /system/lib
at runtime.
The following stub file, Android.mk
, ensures that libsensors
compiles and links to the appropriate libraries:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := sensors LOCAL_PRELINK_MODULE := false LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw LOCAL_SHARED_LIBRARIES := liblog # include any shared library dependencies LOCAL_SRC_FILES := sensors.c include $(BUILD_SHARED_LIBRARY)
Interface
Note: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, click here.