如何修复 gradle task ':app:mergeDebugJniLibFolders' in flutter gradle build for opencv native with NDK?

How to fix gradle task ':app:mergeDebugJniLibFolders' in flutter gradle build for opencv native with NDK?

我正在设置一个新的 flutter 应用程序,我想使用 NDK 添加 opencv 本机 (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 应用程序中没有 'task' mergeDebugJniLibFolders。 我不能 运行 对指定的参数颤抖:它会出错。

我找到了解决方案!

我进入 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 个晚上...