android - 如何修复 gradle 任务 ':app:mergeDebugJniLibFolders' in flutter gradle build for opencv native with NDK?

标签 android opencv android-ndk java-native-interface build.gradle

我正在设置一个新的 flutter 应用程序,我想使用 NDK 添加 opencv native (c++) 插件。

我已经安装并配置了 OpenCV 和 NDK(使用不同的 tutorials),但在尝试构建我的项目时遇到了这个错误(flutter run):

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugJniLibFolders'.
> java.lang.NullPointerException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- 
debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 31s
Finished with error: Gradle task assembleDebug failed with exit code 1

我不知道它来自哪里,在我的应用程序的 build.gradle 中没有“任务”mergeDebugJniLibFolders。 我无法使用指定参数运行 flutter:它会出错。

最佳答案

我找到了解决方案!

我在我的 build.gradle 中得到了那些行:

sourceSets {
    main {
        jniLibs.srcDirs = ['src/main/libs']
        java.srcDirs = ['src']
        ...
    }
 }

所以我决定打开只包含

src/main/libs文件

../../../../OpenCV-Andoid-sdk/native/libs/

...错误的路径应该是:

../../../../sdk/native/libs/

我根据新的相对路径将正确的路径放入 gradle 文件中:

sourceSets {
    main {
        jniLibs.srcDirs = ['../../sdk/native/libs/']
        java.srcDirs = ['src']
        ...
    }
 }

现在它可以完美编译了!多么棘手的错误,我花了 6 个晚上...

关于android - 如何修复 gradle 任务 ':app:mergeDebugJniLibFolders' in flutter gradle build for opencv native with NDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450398/

相关文章:

android - 为移动应用程序创建深层链接

android - 从MatOfKeyPoint到MatOfPoint2f的OpenCV4Android转换

android - MediaCodec KEY_FRAME_RATE 似乎被忽略了

android - 包含 jni 文件的项目

android - 如何在按钮中设置文本长度

android - 服务完成下载文件时的自定义可变处理程序

python - 我应该如何在opencv中裁剪出非矩形,非多边形的ROI?

android-ndk - Android NDK 共享对象 undefined reference 错误

wifi断开后,Android socket仍然可以正常写入

matlab - 像素值和图像尺寸