在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) 即可。
接着前面的进行错误排查测试
首先在vendor的机型