Jér*_*émy 3 java-native-interface android-ndk build.gradle android-gradle-plugin opencv4android
我正在设置一个新的 Flutter 应用程序,我想使用 NDK 添加 opencv 本机(c++)插件。
我已经安装并配置了 OpenCV 和 NDK(使用不同的教程),但在我尝试构建我的项目 ( 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
Run Code Online (Sandbox Code Playgroud)
我不知道它从何而来,也没有“任务”mergeDebugJniLibFolders
在我build.gradle
从我的应用程序。我无法使用指定的参数运行 flutter:它会出错。
我找到了解决方案!
我进入了我的build.gradle
那些行:
sourceSets {
main {
jniLibs.srcDirs = ['src/main/libs']
java.srcDirs = ['src']
...
}
}
Run Code Online (Sandbox Code Playgroud)
所以我决定打开src/main/libs
只包含
../../../../OpenCV-Andoid-sdk/native/libs/
...一条错误的路径应该是:
../../../../sdk/native/libs/
我将正确路径放入尊重新相对路径的 gradle 文件中:
sourceSets {
main {
jniLibs.srcDirs = ['../../sdk/native/libs/']
java.srcDirs = ['src']
...
}
}
Run Code Online (Sandbox Code Playgroud)
现在它编译完美!这是一个多么棘手的错误,我花了 6 个晚上...