Как исправить задачу gradle ': app: mergeDebugJniLibFolders' в сборке флаттера gradle для нативной opencv с NDK? - PullRequest
0 голосов
/ 31 января 2019

Я настраиваю новое приложение для создания флаттера и хочу добавить плагин opencv native (c ++) с помощью NDK.

Я установил и настроил 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

Я не знаю, откуда он, нет «задачи» mergeDebugJniLibFoldersв моем build.gradle из моего приложения.Я не могу запустить флаттер с указанными аргументами: он делает ошибки.

1 Ответ

0 голосов
/ 31 января 2019

Я нашел решение!

Я получаю в моих build.gradle эти строки:

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

Поэтому я решил открыть файл src/main/libs, который содержит только

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

... неверный путь, который должен быть:

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

Я поместил путь corect в файл Gradle, учитывая новый относительный путь:

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

А теперь он отлично скомпилирован!Какая хитрая ошибка, на которую я провожу 6 вечеров ...

...