Включение OpenCV в проект Android Studio приводит к ошибке «Неразрешенные зависимости» - PullRequest
6 голосов
/ 10 апреля 2019

Я пытаюсь включить OpenCV в свой проект Android Studio, используя это пошаговое руководство.Однако после добавления OpenCV в качестве зависимости модуля (шаг 4 в руководстве) синхронизация проекта Gradle завершается сбоем со следующими ошибками:

ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :openCVLibrary410.
Show Details
Affected Modules: app


ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :openCVLibrary410.
Show Details
Affected Modules: app


ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve project :openCVLibrary410.
Show Details
Affected Modules: app

Я нашел этот связанный вопрос и попытался настроить buildTypesв openCV build.gradle добавив поле отладки, но это ничего не изменило.Я также попытался настроить build.gradle приложения следующим образом:

    buildTypes {
        release {
            ...
        }
        debug {
            matchingFallbacks = ['release']
        }
    }

(и несколько несколько разных версий этого, потому что я не был полностью уверен, что я там делал), но ни одна из них не помогла.Я также попытался установить вариант сборки библиотеки OpenCV для выпуска вместо отладки, но это привело к следующей ошибке:

Unable to find a matching variant of project :openCVLibrary410:
  - Variant 'debugApiElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Apk'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Variant 'debugBundleElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
      - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
      - Required org.gradle.usage 'java-api' and found incompatible value 'android-bundle'.
  - Variant 'debugMetadataElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Metadata'.
      - Required org.gradle.usage 'java-api' but no value provided.
  - Variant 'debugRuntimeElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Apk'.
      - Required org.gradle.usage 'java-api' and found incompatible value 'java-runtime'.
  - Variant 'releaseApiElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'release'.
      - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Apk'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Variant 'releaseBundleElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
      - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
      - Required org.gradle.usage 'java-api' and found incompatible value 'android-bundle'.
  - Variant 'releaseMetadataElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'release'.
      - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Metadata'.
      - Required org.gradle.usage 'java-api' but no value provided.
  - Variant 'releaseRuntimeElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'release'.
      - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found incompatible value 'Apk'.
      - Required org.gradle.usage 'java-api' and found incompatible value 'java-runtime'.

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

8 голосов
/ 23 апреля 2019

Я наконец решил это, изменив строку

apply plugin: 'com.android.application'

в файле build.gradle импортированного модуля OpenCV в

apply plugin: 'com.android.library'

и удаление поля defaultConfig в том же файле Gradle. Я нашел это решение здесь .

0 голосов
/ 14 апреля 2019

Импорт версии 3.4.6 немного старше, чем последняя версия.Последняя версия еще может быть нестабильной.

Те же симптомы возникали в моей среде, но были устранены с использованием версии 3.4.6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...