JNIEXPORT jstring JNICALL Java_org_opencv_android_StaticHelper_getLibraryList(JNIEnv *, jclass);
#define PACKAGE_NAME "org.opencv.lib_v" CVAUX_STR(CV_VERSION_EPOCH) CVAUX_STR(CV_VERSION_MAJOR) "_" ANDROID_PACKAGE_PLATFORM
-#define PACKAGE_REVISION CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(ANDROID_PACKAGE_RELEASE)
+#define PACKAGE_REVISION CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(ANDROID_PACKAGE_RELEASE) "." CVAUX_STR(CV_VERSION_REVISION)
const char* GetPackageName(void)
{
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.opencv.lib_v@OPENCV_VERSION_MAJOR@@OPENCV_VERSION_MINOR@_@ANDROID_PACKAGE_PLATFORM@"
- android:versionCode="@OPENCV_VERSION_PATCH@@ANDROID_PACKAGE_RELEASE@"
- android:versionName="@OPENCV_VERSION_PATCH@.@ANDROID_PACKAGE_RELEASE@" >
+ android:versionCode="@OPENCV_VERSION_PATCH@@OPENCV_VERSION_TWEAK@@ANDROID_PACKAGE_RELEASE@"
+ android:versionName="@OPENCV_VERSION_PATCH@.@OPENCV_VERSION_TWEAK@.@ANDROID_PACKAGE_RELEASE@" >
<uses-sdk android:minSdkVersion="@ANDROID_SDK_VERSION@" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
// Taking release and build number from package revision
vector<string> tmp2 = SplitStringVector(package_version, '.');
- result += atoi(tmp2[0].c_str())*100 + atoi(tmp2[1].c_str());
+ if (tmp2.size() == 2)
+ {
+ // the 2nd digit is revision
+ result += atoi(tmp2[0].c_str())*100 + 00;
+ }
+ else
+ {
+ // the 2nd digit is part of library version
+ // the 3rd digit is revision
+ result += atoi(tmp2[0].c_str())*100 + atoi(tmp2[1].c_str());
+ }
}
else
{
* Example: armv7_neon
*/
PackageInfo::PackageInfo(int version, int platform, int cpu_id, std::string install_path):
-Version(version),
-Platform(platform),
-CpuID(cpu_id),
-InstallPath("")
+ Version(version),
+ Platform(platform),
+ CpuID(cpu_id),
+ InstallPath("")
{
#ifndef __SUPPORT_TEGRA3
Platform = PLATFORM_UNKNOWN;
}
#endif
+TEST(PackageInfo, Check2DigitRevision)
+{
+ PackageInfo info("org.opencv.lib_v23_armv7a_neon", "/data/data/org.opencv.lib_v23_armv7_neon", "4.1");
+ EXPECT_EQ(2030400, info.GetVersion());
+ EXPECT_EQ(ARCH_ARMv7 | FEATURES_HAS_NEON, info.GetCpuID());
+}
+
+TEST(PackageInfo, Check3DigitRevision)
+{
+ PackageInfo info("org.opencv.lib_v23_armv7a_neon", "/data/data/org.opencv.lib_v23_armv7_neon", "4.1.5");
+ EXPECT_EQ(2030401, info.GetVersion());
+ EXPECT_EQ(ARCH_ARMv7 | FEATURES_HAS_NEON, info.GetCpuID());
+}
+
TEST(PackageInfo, Comparator1)
{
PackageInfo info1(2040000, PLATFORM_UNKNOWN, ARCH_X86);
else
NativeLibDir = "/data/data/" + mInstalledPackageInfo[i].packageName + "/lib";
- OpenCVLibraryInfo NativeInfo = new OpenCVLibraryInfo(NativeLibDir);
-
if (PackageName.equals("org.opencv.engine"))
{
+ OpenCVLibraryInfo NativeInfo = new OpenCVLibraryInfo(NativeLibDir);
if (NativeInfo.status())
{
PublicName = "Built-in OpenCV library";
if (null != ActivePackagePath)
{
- int start = ActivePackagePath.indexOf(mInstalledPackageInfo[i].packageName);
- int stop = start + mInstalledPackageInfo[i].packageName.length();
- if (start >= 0 && ActivePackagePath.charAt(stop) == '/')
+ if (ActivePackagePath.equals(NativeLibDir))
{
temp.put("Activity", "y");
Tags = "active";
if (OpenCVersion == null || PackageVersion == null)
return "unknown";
- int dot = PackageVersion.indexOf(".");
- if (dot == -1 || OpenCVersion.length() == 0)
+ String[] revisions = PackageVersion.split("\\.");
+
+ if (revisions.length <= 1 || OpenCVersion.length() == 0)
return "unknown";
else
- return OpenCVersion.substring(0, OpenCVersion.length()-1) + "." +
- OpenCVersion.toCharArray()[OpenCVersion.length()-1] + "." +
- PackageVersion.substring(0, dot) + " rev " + PackageVersion.substring(dot+1);
+ if (revisions.length == 2)
+ // the 2nd digit is revision
+ return OpenCVersion.substring(0, OpenCVersion.length()-1) + "." +
+ OpenCVersion.toCharArray()[OpenCVersion.length()-1] + "." +
+ revisions[0] + " rev " + revisions[1];
+ else
+ // the 2nd digit is part of library version
+ // the 3rd digit is revision
+ return OpenCVersion.substring(0, OpenCVersion.length()-1) + "." +
+ OpenCVersion.toCharArray()[OpenCVersion.length()-1] + "." +
+ revisions[0] + "." + revisions[1] + " rev " + revisions[2];
}
protected String ConvertPackageName(String Name, String Version)