Использование собственной библиотеки в проекте Android приводит к ошибке сборки - PullRequest
0 голосов
/ 24 января 2019

Я бы хотел использовать эту библиотеку распознавания лиц в моем проекте Android, поэтому я добавил библиотеку в свой build.gradle. Но когда я строю проект, он выдает эту ошибку:

More than one file was found with OS independent path 'lib/armeabi-v7a/libopencv_java3.so'

Я пытался добавить это к своему android {} в приложении build.gradle:

packagingOptions {
    pickFirst 'lib/arm64-v8a/libopencv_java3.so'
}

и изменилось pickFirst с exclude, но оно все равно возвращает ту же ошибку при перестроении.

Я прочитал, что для использования нативной библиотеки нужно создать папку jni и поместить туда код нативной библиотеки, это правильно? Если да, какие файлы мне нужно поместить туда? Насколько мне известно, библиотека написана на Java и является допустимой библиотекой Android, только она использует нативные методы.

ОБНОВЛЕНИЕ: Я знаю, что добавлено jni, libs и obj из папки библиотеки примерно так:

enter image description here

и указано

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

Однако при сборке все еще есть похожая ошибка:

More than one file was found with OS independent path 'lib/arm64-v8a/libopencv_java3.so'

Есть решение?

...