Xee*_*ami 8 java error-handling kotlin
在依赖项的 AAR 元数据 (META-INF/com/android/build/gradle/aar-metadata.properties) 中指定的 minCompileSdk (31) 大于此模块的 compileSdkVersion (android-30)。依赖:androidx.core:core-ktx:1.7.0-alpha02。AAR 元数据文件:C:\Users\mohammad.zeeshan1.gradle\caches\transforms-2\files-2.1\a20beb0771f59a8ddbbb8d416ea06a9d\jetified-core-ktx-1.7.0-alpha02\META-INF\com\android\build \aar-metadata.properties。
Cop*_*oad 261
在您的文件中将compileSdkVersion和设置targetSdkVersion为。31build.gradle(app)
android {
compileSdkVersion 31 // <-- This
defaultConfig {
applicationId "com.example.app"
targetSdkVersion 31 // <-- and this too
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
Aba*_*art 80
这个问题最常见于声明的库
implementation androidx.core:core-ktx:1.7.0-beta01
为minCompileSdk31,但minSdkVersion明显较低。
增加compileSdk项目的规模足以解决问题。无需覆盖甚至更改targetSdk.
android {
compileSdk 31
...
}
Run Code Online (Sandbox Code Playgroud)
Sai*_*jib 46
终于,我可以解决我的问题了。
问题出在哪里?
我在一个模块中有以下依赖项 -
implementation "androidx.core:core-ktx:+"
Run Code Online (Sandbox Code Playgroud)
但其他模块,包括应用程序模块,具有以下依赖关系
implementation "androidx.core:core-ktx:1.6.0"
Run Code Online (Sandbox Code Playgroud)
转换
implementation "androidx.core:core-ktx:+"
Run Code Online (Sandbox Code Playgroud)
到
implementation "androidx.core:core-ktx:1.6.0"
Run Code Online (Sandbox Code Playgroud)
解决了我的问题。
小智 16
您需要将编译 SDK 更新为 31。听起来目前设置为 30。在您的 Gradle 文件中应该有类似块compileSdk中的内容android。
将其提高到 31。如果由于某种原因出现问题,您还可以将依赖项降低到不需要编译 SDK 版本的版本。
apr*_*eda 15
我在几天前运行的一个react-native项目上遇到了这个问题,突然我得到了这个错误:
* What went wrong:
Execution failed for task ':app:checkDevDebugAarMetadata'.
> Multiple task action failures occurred:
> 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.core:core-ktx:1.7.0-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/ed22ee8b86d25659bbef1e9ee203b75c/jetified-core-ktx-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
> 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.core:core:1.7.0-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/23234efc7e9de9bfe6a3fea85a6072ef/core-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
Run Code Online (Sandbox Code Playgroud)
阅读错误消息后,我明白了问题所在,androidx.core:core-ktx所以我搜索了更多相关信息,发现去年 9 月 1 日刚刚发布了新版本https://androidx.tech/artifacts/core/core-ktx/,即https: //androidx.tech/artifacts/core/core-ktx/1.7.0-alpha02其中有targetSdkVersion = 31
我运行grep -r "androidx.core:core-ktx" node_modules并发现我有一个依赖项,implementation "androidx.core:core-ktx:+"它将在我安装应用程序时安装最新版本。我不能只更新到 31,因为它似乎破坏了我的一些依赖项的代码,我将得到:
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
Run Code Online (Sandbox Code Playgroud)
我真的不知道如何修复,也找不到任何线索,很可能是因为它是新的。
作为解决方法,已存档android/app/build.gradle
在块之前添加以下块android {}。
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.7.0-alpha01' }
}
Run Code Online (Sandbox Code Playgroud)
这样做之后,它对我有用。它将迫使所有人androidx.core:core-ktx成为1.7.0-alpha01
小智 13
使用Jetpack Compose导航时,我遇到了这个问题......
我正在使用androidx.navigation:navigation-compose:2.4.0-alpha07
所以我用另一个版本解决了这个问题:
`androidx.navigation:navigation-compose:2.4.0-alpha06`
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案,请在应用程序 Gradle 文件中的包上输入上面这行代码。
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |