2015-09-23 2 views
0

Я использую OpenCV с Android Studio. У меня есть модуль C++ с частью ndk и java. Как говорится в учебнике, я разместил opencv libs под ...src\main\jniLibs direcotry. Когда я Buld мой C++ код с НДК-строить он генерирует lbraries под ..src\main\libs папку анс поэтому я следующее сообщение об ошибке:Ошибка: дублировать файлы во время упаковки APK

Error:duplicate files during packaging of APK D:\AndroidStudioNDKProjects\Inpainting\app\build\outputs\apk\app-debug-unaligned.apk 
    Path in archive: lib/armeabi-v7a/libopencv_java3.so 
    Origin 1: D:\AndroidStudioNDKProjects\Inpainting\app\src\main\jniLibs\armeabi-v7a\libopencv_java3.so 
    Origin 2: D:\AndroidStudioNDKProjects\Inpainting\app\src\main\libs\armeabi-v7a\libopencv_java3.so 

Что я делаю неправильно?

ответ

2

проблема заключается в том, что вы включаете 2 библиотеки с одинаковым именем, а андроид - немного расист об этом (даже если обе они являются одной и той же библиотекой). один из ваших модулей C++, а другой из вашей java-части

Основное решение: следить за зависимостями и удалять дополнительную библиотеку.

я бы сказал, просто удалите один в «jniLibs., Но трудно быть более точным без вашего проекта под глазами ....

+0

Я думал, что jniLibs является каталогом по умолчанию, откуда ява часть будет искать opencv, но я просто удаляю оттуда, как вы предлагаете, и, похоже, работает. Спасибо. – Vahan

Смежные вопросы