问题
I'm setting up a new flutter app and I want to add opencv native (c++) plugin using NDK.
I've installed and configured OpenCV and NDK (using differents tutorials) and I got this error while I'm trying to build my project (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
I don't know where it come from, there is no 'task' mergeDebugJniLibFolders
in my build.gradle
from my app.
I can't run flutter with specified arguments : it make errors.
回答1:
I found a solution !
I get in my build.gradle
those lines:
sourceSets {
main {
jniLibs.srcDirs = ['src/main/libs']
java.srcDirs = ['src']
...
}
}
So I decided to open the src/main/libs
file which contain only
../../../../OpenCV-Andoid-sdk/native/libs/
... a wrong path that should be :
../../../../sdk/native/libs/
I put the corect path into the gradle file respecting the new relative path :
sourceSets {
main {
jniLibs.srcDirs = ['../../sdk/native/libs/']
java.srcDirs = ['src']
...
}
}
And now it compile perfectly ! What a tricky error on which I spend 6 evenings...
来源:https://stackoverflow.com/questions/54450398/how-to-fix-gradle-task-appmergedebugjnilibfolders-in-flutter-gradle-build-fo