diff --git a/modules/java/android_sdk/android_gradle_lib/AndroidManifest.xml b/modules/java/android_sdk/android_gradle_lib/AndroidManifest.xml
index b62ded736d..e971f76703 100644
--- a/modules/java/android_sdk/android_gradle_lib/AndroidManifest.xml
+++ b/modules/java/android_sdk/android_gradle_lib/AndroidManifest.xml
@@ -1,6 +1,4 @@
+ package="org.opencv" >
diff --git a/modules/java/android_sdk/android_gradle_lib/build.gradle b/modules/java/android_sdk/android_gradle_lib/build.gradle
index a272fd9822..8f969a0a86 100644
--- a/modules/java/android_sdk/android_gradle_lib/build.gradle
+++ b/modules/java/android_sdk/android_gradle_lib/build.gradle
@@ -1,13 +1,18 @@
apply plugin: 'com.android.library'
+def openCVersionName = "@OPENCV_VERSION@"
+def openCVersionCode = ((@OPENCV_VERSION_MAJOR@ * 100 + @OPENCV_VERSION_MINOR@) * 100 + @OPENCV_VERSION_PATCH@) * 10 + 0
+
android {
compileSdkVersion @ANDROID_COMPILE_SDK_VERSION@
- //buildToolsVersion "x.y.z" // not needed since com.android.tools.build:gradle:3.0.0
defaultConfig {
minSdkVersion @ANDROID_MIN_SDK_VERSION@
targetSdkVersion @ANDROID_TARGET_SDK_VERSION@
+ versionCode openCVersionCode
+ versionName openCVersionName
+
externalNativeBuild {
cmake {
arguments "-DANDROID_STL=@ANDROID_STL@"
diff --git a/modules/java/android_sdk/android_lib/AndroidManifest.xml b/modules/java/android_sdk/android_lib/AndroidManifest.xml
index 228c6cfbb0..8f7f0a0d6d 100644
--- a/modules/java/android_sdk/android_lib/AndroidManifest.xml
+++ b/modules/java/android_sdk/android_lib/AndroidManifest.xml
@@ -1,8 +1,6 @@
+ package="org.opencv">
diff --git a/modules/java/android_sdk/build.gradle.in b/modules/java/android_sdk/build.gradle.in
index 4335e5a4ea..8fdda4d3ee 100644
--- a/modules/java/android_sdk/build.gradle.in
+++ b/modules/java/android_sdk/build.gradle.in
@@ -90,16 +90,21 @@
apply plugin: 'com.android.library'
-println "OpenCV: " + project.buildscript.sourceFile
+def openCVersionName = "@OPENCV_VERSION@"
+def openCVersionCode = @OPENCV_VERSION_MAJOR@@OPENCV_VERSION_MINOR@@OPENCV_VERSION_PATCH@0
+
+println "OpenCV: " +openCVersionName + " " + project.buildscript.sourceFile
android {
compileSdkVersion @ANDROID_COMPILE_SDK_VERSION@
- //buildToolsVersion "x.y.z" // not needed since com.android.tools.build:gradle:3.0.0
defaultConfig {
minSdkVersion @ANDROID_MIN_SDK_VERSION@
targetSdkVersion @ANDROID_TARGET_SDK_VERSION@
+ versionCode openCVersionCode
+ versionName openCVersionName
+
externalNativeBuild {
cmake {
arguments "-DANDROID_STL=@ANDROID_STL@"
diff --git a/modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java.in b/modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java
similarity index 96%
rename from modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java.in
rename to modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java
index 625c3daf27..49054d8bce 100644
--- a/modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java.in
+++ b/modules/java/generator/android/java/org/opencv/android/OpenCVLoader.java
@@ -2,6 +2,8 @@ package org.opencv.android;
import android.content.Context;
+import org.opencv.BuildConfig;
+
/**
* Helper class provides common initialization methods for OpenCV library.
*/
@@ -95,7 +97,7 @@ public class OpenCVLoader
/**
* Current OpenCV Library version
*/
- public static final String OPENCV_VERSION = "@OPENCV_VERSION_MAJOR@.@OPENCV_VERSION_MINOR@.@OPENCV_VERSION_PATCH@";
+ public static final String OPENCV_VERSION = BuildConfig.VERSION_NAME;
/**