El mensaje de error:
El minCompileSdk (31) especificado en los metadatos AAR de una dependencia (META-INF/com/android/build/gradle/aar-metadata.properties) es mayor que el compileSdkVersion de este módulo (android-30). Dependencia: androidx.core:core-ktx:1.7.0-alpha02.
Archivo de metadatos 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\gradle\aar-metadata .propiedades.
Al usar la navegación de Jetpack Compose , tuve este problema...
Estaba usando androidx.navigation:navigation-compose:2.4.0-alpha07
Así que lo resolví usando otra versión:
`androidx.navigation:navigation-compose:2.4.0-alpha06`
Este problema se ve con más frecuencia con las bibliotecas que declaran
implementation androidx.core:core-ktx:1.7.0-beta01
El minCompileSdk
es 31, pero el minSdkVersion
es significativamente menor. Aumentar el compileSdk
de su proyecto es suficiente para solucionar el problema. No hay necesidad de anular o incluso cambiar el targetSdk
.
android { compileSdk 31 ... }
Tuve el mismo problema y descubrí que los problemas estaban relacionados con la biblioteca del ciclo de vida.
Cambié de la versión beta,
androidx.lifecycle:lifecycle-livedata:2.4.0beta1
a la versión estable actual,
androidx.lifecycle:lifecycle-livedata:2.3.1
Consulte el sitio web de Android para ver las versiones .
Necesitará actualizar su SDK de compilación a 31. Parece que actualmente está configurado en 30. En sus archivos Gradle debería haber algo como compileSdk
en el bloque de android
.
Aumente eso hasta 31. Si eso es un problema por alguna razón, también puede reducir sus dependencias a versiones que no requieren esa versión SDK de compilación.
Finalmente, puedo resolver mi problema.
¿Cual fue el problema?
Tenía la siguiente dependencia en un módulo:
implementation "androidx.core:core-ktx:+"
pero otros módulos, incluido el módulo de la aplicación, tenían la siguiente dependencia
implementation "androidx.core:core-ktx:1.6.0"
Mudado
implementation "androidx.core:core-ktx:+"
para
implementation "androidx.core:core-ktx:1.6.0"
resolvió mi problema
He encontrado la solución. Ingrese esta línea de código arriba del paquete en el archivo Gradle de la aplicación.
Para desarrolladores de Kotlin:
configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' } }
Para desarrolladores Java
configurations.all { resolutionStrategy { force 'androidx.core:core:1.6.0' } }
Tuve este problema en un proyecto nativo de reacción que estaba funcionando hace unos días, de repente aparece este error:
* 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.
Después de leer el mensaje de error, entendí que el problema era androidx.core:core-ktx
así que busqué más al respecto y descubrí que se acaba de lanzar una nueva versión el 1 de septiembre pasado https://androidx.tech/artifacts/core/core -ktx/ que era https://androidx.tech/artifacts/core/core-ktx/1.7.0-alpha02 que tiene targetSdkVersion = 31
grep -r "androidx.core:core-ktx" node_modules
y descubrí que tengo una dependencia que tiene la implementation "androidx.core:core-ktx:+"
que instalará la última versión cuando instale la aplicación. No puedo simplemente actualizar a 31 porque parece romper los códigos de algunas de mis dependencias, obtendré:
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
Lo cual realmente no sé cómo solucionar y no puedo encontrar ninguna pista, lo más probable es que sea nuevo.
Como solución alternativa, en el archivo android/app/build.gradle
Agregue el siguiente bloque antes del bloque android {}
.
configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.7.0-alpha01' } }
Después de hacer esto, funcionó para mí. Obligará a todos los androidx.core:core-ktx
a ser 1.7.0-alpha01
Establezca compileSdkVersion
y targetSdkVersion
en 31
en su build.gradle(app)
.
android { compileSdkVersion 31 // <-- This defaultConfig { applicationId "com.example.app" targetSdkVersion 31 // <-- and this too // ... } }