【问题标题】:Android : How can I know what dependency require a certain mincompileapk?Android:我怎么知道哪些依赖项需要某个 mincompileapk?
【发布时间】:2021-09-22 14:13:21
【问题描述】:

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

在这里回答: The minCompileSdk (31) specified

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

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

提前感谢您的回答。

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    编译错误应该告诉您导致问题的依赖项。在 Android Studio 中,检查构建选项卡的右侧。就我而言,我发现它是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 Developer website,发现最新的稳定版居然是1.6.0。更改上面的行以指定稳定版本后,它解决了我的问题,即:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 2016-09-28
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      相关资源
      最近更新 更多