diff --git a/cmake/android/android_gradle_projects.cmake b/cmake/android/android_gradle_projects.cmake index 4a98421c6a..0a8b9f4b60 100644 --- a/cmake/android/android_gradle_projects.cmake +++ b/cmake/android/android_gradle_projects.cmake @@ -82,6 +82,27 @@ foreach(fname ${GRADLE_WRAPPER_FILES}) install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/gradle-wrapper/${fname}" DESTINATION "${ANDROID_INSTALL_SAMPLES_DIR}/${__dir}" COMPONENT samples ${__permissions}) endforeach() +# set build.gradle namespace +if(NOT (ANDROID_GRADLE_PLUGIN_VERSION VERSION_LESS "7.3.0")) + ocv_update(OPENCV_ANDROID_NAMESPACE_DECLARATION "namespace 'org.opencv'") +else() + ocv_update(OPENCV_ANDROID_NAMESPACE_DECLARATION "") +endif() + +# set android gradle java version in build.gradle and set aidl config +if(NOT (ANDROID_GRADLE_PLUGIN_VERSION VERSION_LESS "8.0.0")) + # AGP-8.0 requires a minimum JDK version of JDK17 + ocv_update(ANDROID_GRADLE_JAVA_VERSION_INIT "17") + # Enable aidl configuration for OpenCV compile with AGP-8.0 + ocv_update(ANDROID_GRADLE_BUILD_FEATURE_AIDL "buildFeatures { aidl true }") +else() + ocv_update(ANDROID_GRADLE_JAVA_VERSION_INIT "1_8") + ocv_update(ANDROID_GRADLE_BUILD_FEATURE_AIDL "") +endif() + +set(ANDROID_GRADLE_JAVA_VERSION "${ANDROID_GRADLE_JAVA_VERSION_INIT}" CACHE STRING "Android Gradle Java version") +message(STATUS "Android Gradle Java version: ${ANDROID_GRADLE_JAVA_VERSION}") + # force reusing of the same CMake version if(NOT OPENCV_SKIP_ANDROID_FORCE_CMAKE) if(NOT DEFINED _CMAKE_INSTALL_DIR) diff --git a/modules/java/android_sdk/build.gradle.in b/modules/java/android_sdk/build.gradle.in index 90f0e88fd7..6b71d1fe11 100644 --- a/modules/java/android_sdk/build.gradle.in +++ b/modules/java/android_sdk/build.gradle.in @@ -97,6 +97,7 @@ def openCVersionCode = ((@OPENCV_VERSION_MAJOR@ * 100 + @OPENCV_VERSION_MINOR@) println "OpenCV: " +openCVersionName + " " + project.buildscript.sourceFile android { + @OPENCV_ANDROID_NAMESPACE_DECLARATION@ compileSdkVersion @ANDROID_COMPILE_SDK_VERSION@ defaultConfig { @@ -114,6 +115,13 @@ android { } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_@ANDROID_GRADLE_JAVA_VERSION_INIT@ + targetCompatibility JavaVersion.VERSION_@ANDROID_GRADLE_JAVA_VERSION_INIT@ + } + + @ANDROID_GRADLE_BUILD_FEATURE_AIDL@ + buildTypes { debug { packagingOptions {