Примеры OpenCV не работают в Android Studio - PullRequest
0 голосов
/ 08 сентября 2018

Я установил Android Studio 3.1.4 и скачал OpenCV-2.4.11-android-sdk. Для первых шагов я попытался запустить пример, который поставляется с OpenCV SDK, например, обнаружения лица. Когда я собираю проект в Android Studio, я получаю сообщение:

Ошибка: ваш проект содержит файлы C ++, но он не использует поддерживаемые родная система сборки. Рассмотрите возможность использования интеграции CMake или ndk-build. Для получения дополнительной информации перейдите по ссылке: https://d.android.com/r/studio-ui/add-native-code.html

На этом сайте должны быть установлены упомянутые NDK, CMake и LLDB. Но это уже есть.

Есть идеи, как это исправить?

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

не работает. Теперь я создал новый проект. Тогда:

  1. Я щелкнул Файл-> Создать-> Модуль импорта и добавил папку java из моего OpenCV-android-sdk.
  2. Файл-> Структура проекта-> Приложение-> Зависимости-> + Зависимость модуля. Я добавил openCVLibrary2411
  3. Щелкните правой кнопкой мыши приложение: New-> folder-> JNI Folder-> изменить местоположение папки: я изменил на "src / main / jniLibs /
  4. Я скопировал содержимое "OpenCV-android-sdk \ sdk \ native \ libs" (4 папки: armeabi, armeabi-v7a, mips, x86) в "src / main / jniLibs /"
  5. Щелкните правой кнопкой мыши на Пакеты: openCVLibrary2411-> Ссылка на проект C ++ с Gradle: Система сборки: ndk-build, Путь к проекту: "[MyFolder] \ OpencvTest7 \ app \ build \ middleates \ ndk \ debug"

  6. В MainActivity.java я добавил после

* * SetContentView тысячи двадцать-одина (R.layout.activity_main); * * одна тысяча двадцать две

если (OpenCVLoader.initDebug ()) {

        Toast.makeText(getApplicationContext(), "opencv loaded successfully.", Toast.LENGTH_SHORT).show();
    }else
    {
        Toast.makeText(getApplicationContext(), "could not load opencv .", Toast.LENGTH_SHORT).show();
    }

Когда я запускаю проект, я получаю тост "" не удалось загрузить opencv. ".

0 голосов
/ 21 июня 2019

В моем случае мне не хватало местоположения ndk в моем файле local.properties . Пожалуйста, добавьте ndk path с android sdk в local.properties

ndk.dir=/Path to the Sdk/Android/sdk/ndk-bundle
sdk.dir=/Path to the Ndk directory/Android/sdk
0 голосов
/ 08 сентября 2018

Поскольку у вас есть код C ++ и файлы Makefile в каталоге проекта, в этом случае вам просто нужно связать Gradle с собственной библиотекой:

  1. В панели вашего проекта, щелкните правой кнопкой мыши на вашем модуле и выберите Ссылка C ++ Проект с Gradle.

  2. Из раскрывающегося списка выберите CMake или ndk-build , в зависимости от вашего проекта

    а. Если вы выбрали CMake , укажите сценарий CMakeLists.txt в своем проекте

    б. Если вы выбрали ndk-build , укажите Android.mk .

PS: Android.mk находится в; приложение / сборки / промежуточные / НДК / отладить.

...