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

如何解决错误:app:checkDebugAarMetadata

赵俊远
2023-03-14

我试图添加google_mobile_ads,版本1.0.0通过以下步骤中提到的答案:https://stackoverflow.com/a/67883550/13240914,但当我在调试模式下运行应用程序,我得到这个错误:

Execution failed for task ':app:checkDebugAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > 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.work:work-runtime:2.7.0.
     AAR metadata file: /Users/mydata/.gradle/caches/transforms-2/files-2.1/6ca6bfbb6ed79157a08fdd6548cc9e4d/work-runtime-2.7.0/META-INF/com/android/build/gradle/aar-metadata.properties.

有什么方法可以解决这个问题吗?这里是android/app/build.gradlehttps://gist.github.com/wahyu-handayani/025cbb7c538196cf91e6629ac668954f

共有3个答案

梁丘赞
2023-03-14

我遇到了与我的情况下未指定 kotlin 版本相同的错误。我通过指定 kotlin 版本解决了它。从实现“androidx.core:core-ktx:”到

实现 “androidx.core:core-ktx:1.8.0”

姜胤
2023-03-14

我通过强制我的保护中的所有依赖项使用androidx.work:work runtime:2.6.0解决了这个问题,正如这个答案所建议的,因为我没有直接在我的保护里使用这个依赖项。为此,请打开./android/app/build。gradle文件并添加:

configurations.all {
    resolutionStrategy { force 'androidx.work:work-runtime:2.6.0' }
}

在android/defaultConfig中,如下所示:

android {
  ...
  defaultConfig {
    configurations.all {
    resolutionStrategy { force 'androidx.work:work-runtime:2.6.0' }
    }
  ...
  }
}

然后,打开 ./android/build.gradle 文件并将 kotlin 版本更改为 1.4.32,如下所示:

buildscript {
  ext.kotlin_version = '1.4.32'
}

在此之后,如果您遇到与. dex文件相关的错误,例如:无法在单个dex文件中安装请求的类。,然后确保通过添加在app/build.gradle文件中启用Multidex

defaultConfig {
    ....
    multiDexEnabled true
}

dependencies {
    ....
    implementation 'com.android.support:multidex:2.0.1'
}

(就像这个StackOverflow回答提到的)。

东方谦
2023-03-14

依赖项的AAR元数据(META-INF.com/android/build/gradle/AAR metadata.properties)中指定的minCompileSdk(31)大于此模块的compileSdkVersion(android-30)。

之所以出现问题,是因为在依赖项androidx.work: Work-runtime: 2.7.0中需要最低SDK版本31才能运行。可以有两种解决方案:

  1. 使用此依赖项的旧版本,最好是2.6.0
  2. 在app\build.gradle文件中,将属性comileSdkVersion 30更改为comileSdkVersion 31。确保先从SDK管理器下载SDK版本31!
 类似资料:
  • 问题内容: 我们正在尝试使用VScode将代码部署到FRC机器人,但我们不断收到错误消息: 错误:找不到或加载主类 org.gradle.wrapper.GradleWrapperMain 原因:java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain 终端进程终止,退出代码为:1 我们发现其他人也遇到了类似的错误

  • 问题内容: 我连接了VPN,以设置广告资源API来获取产品列表,并且效果很好。一旦我从Web服务获得结果并绑定到UI。当我遇到付款错误时,我也将PayPal与我的make Express结帐应用程序集成在一起。我将servlet用于后端过程。谁能说出解决此问题的方法? 问题答案: 首先,你需要从尝试连接的服务器获取公共证书。这可以通过多种方式完成,例如联系服务器管理员并提出要求,使用OpenSSL

  • 我已经在swingeclipse的JTable属性中设计了默认的表模型。所以当我尝试进行计算时,会出现错误……线程“AWT-EventQueue-0”java.lang.ClassCastException:java.lang.String无法转换为java.lang.Integer 在-Integer quantity =((Integer)model . getvalue at(row,2))

  • 我在上传Excel文件大小更1MB时出错。 我试图通过应用以下配置更改来修复它,但没有一个对我有帮助。 在应用程序中尝试配置。yml文件: 我还尝试了以下注释: 最后我做了这个改变: 但是什么都没用!

  • CoreException:无法计算生成计划:插件org.apache.maven.Plugin:3.1或其依赖项之一无法解析:无法读取org.apache.maven的工件描述符。plugins:maven-compiler-plugin:jar:3.1:ArtifactResolutionException:无法将工件org.apache.maven.Plugin.plugins:maven-

  • 问题内容: 我在下一行出现错误。我正在做添加到jsonarray的过程。请帮我。 问题答案: 这是我在重新编程时经常遇到的错误。此异常的原因或细节非常清楚。不允许在迭代时修改集合(正在添加新元素)。至少不支持语法。 为了解决您的问题,我认为有两种方法很简单。 1)。而不是使用语句来循环,更好的方法是使用迭代器来避免ConcurrentModificationException。 2)。在循环播放时