当前位置: 首页 > 知识库问答 >
问题:

在Android Studio项目中包含OpenCV会产生“未解决的依赖项”错误

南宫天逸
2023-03-14

我正在尝试使用此分步指南将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

我发现了这个相关的问题,并尝试在openCV构建中调整构建类型。gradle添加了一个调试字段,但它没有改变任何东西。我还试着调整应用程序的构建。渐变如下

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

(还有几个稍有不同的版本,因为我不完全确定我在那里做了什么),但没有任何帮助。我还尝试将OpenCV库的构建变体设置为release而不是debug,但这导致了以下错误:

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个答案

施超
2023-03-14

导入版本3.4.6比最新版本稍旧。最新版本可能还不稳定。

在我的环境中也出现了相同的症状,但使用版本3.4.6解决了。

冯宏放
2023-03-14

我终于通过改变线路解决了这个问题

应用插件:'com.android.application'

在导入的OpenCV模块的build.gradle文件中

应用插件:'com.android.library'

并删除同一gradle文件中的defaultConfig字段。我在这里找到了这个解决方案。

 类似资料:
  • 我使用的是Eclipse Luna、Maven3和Websphere Liberty 8.5.5。我在Eclipse中添加了websphere liberty server。部署在liberty中的EAR/WAR项目不包括WAR的WEB-INF/lib中的maven依赖项。如果导出EAR或WAR,则导出的文件包含所有依赖项。会出什么问题?

  • 我们正在尝试使用java webstart开发一个打印应用程序。我们使用eclipse将jar创建为普通jar文件。我们的应用程序需要外部库来连接数据库、将数据转换为字节等。 我们以前可以通过将必要的JAR放入jre文件夹的/ext/目录来实现这一点。然而,这导致了与tomcat服务器的库冲突,所以我们希望避免这种方法。 我们还尝试将项目导出为可运行的jar,因为所需的库也已打包在jar中。但是当

  • 正如spark文档所述,我运行来构建spark 1.6.2,但出现如下错误: [信息]正在更新{file:/home/charlielin/workspace/spark-1.6.2/}网络-洗牌...[info]解决org.fusesource.jansi#jansi;1.4...[警告]::::::::::::::::::::::: 未解决的依赖关系:::[警告]:::::::::::::::

  • 问题内容: 有没有一种方法可以强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到我的jar中。 问题答案: 你可以使用带有描述符的插件来执行此操作。这是我们之一的相关块,它可以完成此任务:

  • 导入SBT项目时出错: ... 关于如何解决这个问题的任何建议。导入在另一台机器上运行良好。我看到了.ivy2文件夹中的jar文件。

  • 在Zeppelin中添加spark-csv依赖项会产生网络错误。我转到Zeppelin中的Spark解释器,添加了Spark-csv依赖项。。我还在参数选项中添加了它。 我重新启动Zeppelin并运行以下命令: 是否正确添加了依赖项? 更新 尝试将库更改为,结果如下: 设置解释器“spark.spark”的属性时出错:在central(http://repo1.maven.org/maven2/