在lineage编译环境里,编译QCamera2
源码路径
hardware/qcom/camera/QCamera2
编译命令
mmm hardware/qcom/camera/QCamera2
编译结果在当前编译手机型号的out目录下面的 system/lib/hw
下面,名称是 camera.msm8992.so
,名称里面的msm8992是手机的cpu型号。
这个编译出来后,是不能直接使用的,具体原因未知,有知道原因的大哥请指点一下,本人在接下来的空闲时间里会进行调试分析。
下面总结编译过程中遇到的一些问题,以及解决版本
- export_includes needed by import_includes, missing and no known rule to make it
这个问题的原因是没有将头文件导出到obj目录下面对应的静态库或共享库的头目录,典型的路径为 obj/SHARED_LIBRARIES/libmmcamera_interface_intermediates/
,静态库的话,路径里面的SHARED为STATIC,解决的办法就是在export_includes对应的Android.mk里面加上 LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
。
- 编译出来的共享文件,在编译手机型号的out目录下面的obj里面有,但是obj-arm下面没有
这个问题是Android.mk里面的配置项 LOCAL_32_BIT_ONLY := true
,只要将 true
修改为 $(BOARD_QTI_CAMERA_32BIT_ONLY)
即可。