@@ -128,6 +128,14 @@ COMMON_CMAKE_OPTIONS="
128128# ANDROID
129129# =========================
130130if [[ " $PLATFORM " == " android" ]]; then
131+ if [[ -z " $ANDROID_SDK_ROOT " ]]; then
132+ echo " Error: ANDROID_SDK_ROOT environment variable must be set for Android builds"
133+ exit 1
134+ elif [[ ! -d " $ANDROID_SDK_ROOT " ]]; then
135+ echo " Error: Android SDK not found at $ANDROID_SDK_ROOT "
136+ exit 1
137+ fi
138+
131139 if [[ -z " $ANDROID_NDK_HOME " ]]; then
132140 echo " Error: ANDROID_NDK_HOME environment variable must be set for Android builds"
133141 exit 1
@@ -136,6 +144,7 @@ if [[ "$PLATFORM" == "android" ]]; then
136144 exit 1
137145 fi
138146
147+ echo " Using Android SDK: $ANDROID_SDK_ROOT "
139148 echo " Using NDK: $ANDROID_NDK_HOME "
140149 echo " Building for ABI: $ARCH "
141150
@@ -144,12 +153,41 @@ if [[ "$PLATFORM" == "android" ]]; then
144153 -DANDROID_ABI=$ARCH \
145154 -DANDROID_PLATFORM=android-24 \
146155 -DANDROID_STL=c++_shared \
156+ -DCPU_BASELINE=NEON \
157+ -DCPU_DISPATCH= \
158+ -DWITH_PNG=ON \
159+ -DWITH_JPEG=ON \
160+ -DWITH_TIFF=OFF \
161+ -DOPENCV_ENABLE_ALLOCATOR_STATS=OFF \
147162 -DBUILD_ANDROID_PROJECTS=OFF \
148163 -DBUILD_ANDROID_EXAMPLES=OFF \
149164 -DBUILD_JAVA=OFF \
150- $COMMON_CMAKE_OPTIONS
165+ -DWITH_PROTOBUF=OFF \
166+ -DWITH_FFMPEG=OFF \
167+ -DWITH_GSTREAMER=OFF \
168+ -DWITH_OPENGL=OFF \
169+ -DBUILD_TIFF=OFF \
170+ -DBUILD_WEBP=OFF \
171+ -DBUILD_OPENEXR=OFF \
172+ -DBUILD_JASPER=OFF \
173+ -DBUILD_OPENJPEG=OFF \
174+ $COMMON_CMAKE_OPTIONS # Common minimal options
151175
152176 cmake --build . --target install -j$( sysctl -n hw.ncpu)
177+
178+ # =========================
179+ # Strip unneeded symbols to reduce size
180+ # =========================
181+ echo " Stripping OpenCV shared libraries to reduce size..."
182+ INSTALL_LIB_DIR=" $INSTALL_DIR /sdk/native/libs/$ARCH "
183+ for lib in libopencv_core.so libopencv_imgproc.so libopencv_imgcodecs.so; do
184+ if [[ -f " $INSTALL_LIB_DIR /$lib " ]]; then
185+ " $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" --strip-unneeded " $INSTALL_LIB_DIR /$lib "
186+ echo " Stripped $lib "
187+ fi
188+ done
189+
190+ echo " ✅ Android OpenCV build completed for $ARCH "
153191fi
154192
155193# =========================
0 commit comments