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

Android:我怎么知道什么依赖需要某个MinCompileApp?

彭建业
2023-03-14

所以我遇到了这个问题,依赖项的AAR元数据(META-INF/com/android/build/gradle/AAR metadata.properties)中指定的minCompileSdk(31)大于该模块的compileSdkVersion(android-30)。

在这里回答:指定的minCompileSdk(31)

我的问题是:我怎么知道是哪个依赖关系导致了这个问题?用户laalto是如何知道它是android core的?

我试着看https://mvnrepository.com/但它不谈论任何mincompile版本:https://mvnrepository.com/artifact/androidx.core/core-ktx/1.7.0-beta01

提前感谢您的回答。

共有1个答案

阮阳曦
2023-03-14

编译错误应该告诉您导致问题的依赖关系。在Android Studio中,检查build选项卡的右侧。在我的例子中,我发现它是androidx。core:core ktx,因为编译器给出了以下错误:

The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.core:core-ktx:1.7.0-beta01.
AAR metadata file: /Users/XX/.gradle/caches/transforms-2/files-2.1/XX/jetified-core-ktx-1.7.0-beta01/META-INF/com/android/build/gradle/aar-metadata.properties.

BETA立即跳出来。仔细检查您的gradle.build文件。该错误可能是由您的项目实现的库的模糊版本规范引起的。可能正在使用需要更高最小编译版本的新版本。在检查了所有模块的build.gradle文件后,我发现我在其中一个模块中包含了以下内容:

implementation "androidx.core:core-ktx:+"

我查看了Android Developerhtml" target="_blank">网站,发现最新的稳定版本实际上是1.6.0。将上面的行更改为指定稳定版本后,它解决了我的问题,即:

implementation "androidx.core:core-ktx:1.6.0"

保持所有依赖项最新很重要,但我宁愿手动管理这些以防止此类问题,而不是让编译器使用不稳定的版本或需要更高最小编译目标的版本。

 类似资料:
  • 问题内容: 我想知道pom.xml中描述的哪个依赖性在目标目录中带来了传递性依赖性。 更准确地说,我的WEB-INF / lib目录中有一个库“ poi-2.5.1-final-20040804.jar”,我想知道pom.xml中的哪个依赖项会带来这种情况。 问题答案: 要添加到@David Crow,下面是Maven站点中的dependency:tree示例: 可能输出

  • 我正在通过Kafka快速入门: http://kafka.apache.org/07/quickstart.html 和基本的消费者群体示例: https://cwiki.apache.org/confluence/display/KAFKA/Consumer组示例 我已经将消费者和消费者线程池编码如下: 其他几个方面:我正在使用Spring来管理我的动物园管理员: 我正在用Maven和OneJa

  • 我想知道在不运行require的情况下,节点的require将解析到什么路径。 例如 在内部node.js将查看它的PATH,弄清楚它是一个目录、一个js文件、一个json文件等。,然后加载文件。 有没有办法在不实际加载模块的情况下只处理完整解析的路径? 我正在寻找的输出是这样的 重要的部分是. js扩展名,因为节点必须完全解析路径。 注意:无法解决此问题。如果some_module实际上是一个包

  • 嗨, 我是Spring boot gradle项目的新手。我正在尝试用Spring boot应用程序运行flyway迁移。这就是我在gradle中设置依赖项的方式, 首先,我将依赖项添加为。这足以暴露一个终点。 然后我尝试以的方式添加flyway依赖项,它既没有抛出错误,也没有运行迁移脚本,直到我添加了依赖项。在查看了data-jpa jar的pom.xml之后,我确定了这个jar的hiberna

  • 问题内容: 我从java2s.com下载了servlet-api.jar的副本。我怎么知道它是什么版本?该网站上没有参考。 编辑 啊。道歉。当我双击得到的jar中的MANIFEST.MF文件时,我应该已经列出了写字板输出的内容: 如您所见,它没有告诉我版本,因此是问题所在。 问题答案: 您可以从META-INF中获取它,也可以使用Win rar或类似的归档工具来探索jar文件的内容。 我个人更喜欢