OpenCV和Android Studio以及Ndk Panorama应用程序

时间:2016-03-31 05:14:03

标签: android c++ opencv gradle android-ndk

我正在使用Android Studio尝试实现全景应用程序 我开始使用名为pandorica的OpenCV示例 链接:https://code.google.com/archive/p/android-opencv-panorama/

我设置了所有东西并构建了项目 但是找不到我的功能Stitch 我认为ndk不起作用 即使它已编译.so(共享库)文件

      JNIEXPORT jint JNICALL Java_com_example_administrateur_cameraapp_MainActivity_Stitch(JNIEnv *env, jobject obj, jobjectArray args)

这是我的build.gradle

sourceSets.main {
    jniLibs.srcDir 'src/main/libs' //set .so files location to libs
    jni.srcDirs = [] //disable automatic ndk-build call
}

// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
        commandLine 'C:\\\\Android\\\\android-ndk-r11b\\\\ndk-build.cmd', '-C', file('src/main/jni').absolutePath
    } else {
        commandLine 'C:\\\\Android\\\\android-ndk-r11b\\\\ndk-build', '-C', file('src/main/jni').absolutePath
    }
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

这是错误

无法解析相应的JNI函数Java_com_example_administrateur_cameraapp_MainActivity_Stitch

我正在使用 Android版1.5.1 OpenCV 2.3.1 Gradle 2.8 Ndk r11b

我的目标是实现全景Android应用程序,我选择OpenCV 2.3.1因为开源项目使用它

如果有OpenCV 3.0全景应用程序的教程,请在此处发布链接

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题 您需要在项目中创建一个JNI文件夹并在那里传递所需的库... 我和Imgproc.circle \ line一样有同样的问题 并通过执行enter image description here

解决了这个问题