LOCAL_MODULE:= libhardwareinclude $(BUILD_SHARED_LIBRARY)
include $(addsuffix /Android.mk, $(addprefix $(LOCAL_PATH)/, \
                        modules/sensors \
                ))
include $(addsuffix /Android.mk, $(addprefix $(LOCAL_PATH)/, \
                        modules/gralloc \
                        modules/lights \
                ))然后报错:
hardware/libhardware/Android.mk:41: hardware/libhardware/modules/sensors/modules/gralloc/Android.mk: No such file or directory
hardware/libhardware/Android.mk:41: hardware/libhardware/modules/sensors/modules/lights/Android.mk: No such file or directory
build/core/copy_headers.mk:15: warning: 

解决方案 »

  1.   

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    # Here we give our module name and source file(s)
    LOCAL_MODULE          := jnitest    //把jnitest改成你实际项目模块名
    LOCAL_SRC_FILES       := jnitest.c   //把jnitest.c改成你实际的文件名
    include $(BUILD_SHARED_LIBRARY)
      

  2.   

    我想要的结果是modules/sensors/Android.mk编自己的,modules/lights/Android.mk也编自己的,,现在两个目录扯一块了libhardware/modules/sensors/modules/lights/Android.mk
      

  3.   

    为啥要这样写呢?
    LOCAL_MODULE:= libhardware需要依赖addsuffix 跟addprefix 两个模块的话,
    直接用LOCAL_SHARED_LIBRARIES或者LOCAL_STATIC_LIBRARIES引用进来不就行了?
      

  4.   

    也可以试下
    定义一个绝对路径
    include $(TARGET_PATH)/modules/sensors/Android.mk