I am trying to build OpenCV as part of an AOSP 13 build. I cloned OpenCV and integrated it into AOSP using an Android.bp file. However, I keep encountering errors related to missing headers and undeclared identifiers during the build process.
Steps Taken:
Cloned OpenCV into external/opencv. cmake -DCMAKE_TOOLCHAIN_FILE=/android-ndk-r21e/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_STL=c++_shared -DANDROID_NATIVE_API_LEVEL=33
Created an Android.bp file to build OpenCV as part of AOSP. And I think problem is with the Android.bp
cc_library_shared { name: "libopencv_core", srcs: [ "modules/core/src/**/*.cpp", "modules/imgproc/src/**/*.cpp", "modules/highgui/src/**/*.cpp", "modules/calib3d/src/**/*.cpp", ], exclude_srcs: [ "modules/highgui/src/backend_*.cpp", "modules/core/include/opencv2/core/private.hpp", "modules/core/include/opencv2/core/private.cuda.hpp", "external/opencv/modules/core/include/opencv2/core/private.cuda.hpp", "external/opencv/modules/core/include/opencv2/core/private.hpp", ], export_include_dirs: [ "modules", "include", "modules/core/include", "modules/imgproc/include", "modules/highgui/include", "modules/calib3d/include", "build", "include", ], cflags: [ "-DANDROID", "-DOPENCV_ANDROID", "-fexceptions", "-frtti", "-DHAVE_OPENCL=0", "-DOPENCV_DISABLE_TRACING", "-DNO_OPENCL", ], shared_libs: [ "liblog", "libandroid", "libmediandk", "libjpeg", "libpng", "libz", ], static_libs: [ "libc++_static", "liblog", ], stl: "c++_shared", rtti: true, strip: { none: true, }, }
So is my Android.bp file correctly set up for OpenCV in AOSP? Does OpenCV require additional configuration to work with AOSP's build system?