Wie kann ich den Fehler „Die minCompileSdk (31) angegeben in den AAR-Metadaten einer Abhängigkeit“ in nativem Java oder Kotlin beheben? [duplicate]
Lesezeit: 5 Minuten
Mohammad Zeeshan
Die Fehlermeldung:
Die in den AAR-Metadaten einer Abhängigkeit (META-INF/com/android/build/gradle/aar-metadata.properties) angegebene minCompileSdk (31) ist größer als die compileSdkVersion dieses Moduls (android-30). Abhängigkeit: androidx.core:core-ktx:1.7.0-alpha02.
(Der vorgeschlagene Dupe hat im Gegensatz zu dieser Frage einen MCVE)
– Zoe steht mit der Ukraine ♦
23. September 2021 um 14:35 Uhr
Mohammad Zeeshan
Ich habe die Lösung gefunden. Geben Sie diese Codezeile über dem Paket in die App-Gradle-Datei ein.
Für Kotlin-Entwickler:
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
}
Für Java-Entwickler
configurations.all {
resolutionStrategy { force 'androidx.core:core:1.6.0' }
}
Entfernen Sie für Java-Entwickler die ktx: resolutionStrategy {force 'androidx.core:core:1.6.0'}
– Zain
18. September 2021 um 23:39 Uhr
Ich bekomme immer noch das gleiche Problem auf ReactNative. Das Hinzufügen dieser Zeile hat in meinem Projekt nicht geklappt. Gibt es eine weitere Möglichkeit, dieses Problem zu lösen?
– Ayush Katuwal
21. September 2021 um 5:36 Uhr
Warum funktioniert das? Ich bin wirklich überrascht; Mein Projekt Gradle definiert die Kotlin-Version als 1.5.10!
– SMBiggs
9. November 2021 um 20:35 Uhr
Warum tun Sie dies, anstatt einfach die Core-ktx-Version auf 1.6.0 herunterzustufen? – Ich bin ein mobiler Noob…
– Paul Barclay
17. November 2021 um 10:42 Uhr
Bei Arctic Fox scheint dieser Hack nicht mehr zu funktionieren. Ich musste das compileSdk in build.gradle (app) von 30 auf 31 erhöhen, wie in dieser Antwort erwähnt stackoverflow.com/a/69283902/624814.
– SMBiggs
6. Dezember 2021 um 16:25 Uhr
Tolle Antwort. Dies ist die richtige Lösung für dieses Problem. Um dieses Problem zu beheben, können wir das Kompilier-SDK ausreichend ändern. Wenn wir dann targetSdk ändern, wird es einige andere Probleme geben, die für diese Problembehebung nicht erforderlich sind.
– Mohamed Ibrahim
4. Januar um 4:38
Saiful Islam Sajib
Endlich kann ich mein Problem lösen.
Was war das Problem?
Ich hatte die folgende Abhängigkeit in einem Modul –
implementation "androidx.core:core-ktx:+"
andere Module, einschließlich des App-Moduls, hatten jedoch die folgende Abhängigkeit
implementation "androidx.core:core-ktx:1.6.0"
Konvertieren
implementation "androidx.core:core-ktx:+"
zu
implementation "androidx.core:core-ktx:1.6.0"
mein Problem gelöst.
Für mich schlug es Version 1.6.0 vor, sobald ich das “+” gelöscht und es dann mit dieser Version kompiliert hatte. Ich denke also, Sie sollten nach dem automatischen Vorschlag suchen und diesen Wert dann verwenden.
– Tickietackie
17. September 2021 um 14:12 Uhr
Peter Mortensen
Sie müssen Ihr Kompilierungs-SDK auf 31 aktualisieren Geräusche wie es derzeit auf 30 eingestellt ist. In Ihren Gradle-Dateien sollte so etwas wie sein compileSdk in dem android Block.
Erhöhen Sie das auf 31. Wenn dies aus irgendeinem Grund ein Problem darstellt, können Sie Ihre Abhängigkeiten auch auf Versionen heruntersetzen, die diese kompilierte SDK-Version nicht benötigen.
Für mich schlug es Version 1.6.0 vor, sobald ich das “+” gelöscht und es dann mit dieser Version kompiliert hatte. Ich denke also, Sie sollten nach dem automatischen Vorschlag suchen und diesen Wert dann verwenden.
– Tickietackie
17. September 2021 um 14:12 Uhr
Peter Mortensen
Ich hatte dieses Problem bei einem React-Native-Projekt, das vor ein paar Tagen funktionierte, plötzlich erhalte ich diesen Fehler:
* 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.
Ich rannte grep -r "androidx.core:core-ktx" node_modules und festgestellt, dass ich eine Abhängigkeit habe, die hat implementation "androidx.core:core-ktx:+" Dadurch wird die neueste Version installiert, wenn ich die App installiere. Ich kann nicht einfach auf 31 aktualisieren, weil es die Codes einiger meiner Abhängigkeiten zu brechen scheint, ich bekomme:
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
Was ich nicht wirklich weiß, wie ich es beheben soll und keine Spur finden kann, liegt höchstwahrscheinlich daran, dass es neu ist.
Als Problemumgehung in den Akten android/app/build.gradle
Fügen Sie zuvor den folgenden Block hinzu android {} Block.
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.7.0-alpha01' }
}
Nachdem ich dies getan hatte, funktionierte es bei mir. Es wird alles zwingen androidx.core:core-ktx zu sein 1.7.0-alpha01
Ich rannte grep -r "androidx.core:core-ktx" node_modules und bekam keine Ausgabe. Trotzdem bekomme ich diesen Fehler.
– Rohit Aggarwal
5. September 2021 um 17:26 Uhr
Ich hatte gerade diesen Fehler beim Erstellen für Android in meinem React-Native-Projekt, es lag nicht daran androidx.core:core-ktx sondern wegen androidx.browser:browser. Das kommt aus der Bibliothek react-native-inappbrowser-reborn, die die Android-Paketversion auf 1+ festlegt. Nach einer Gradle-Synchronisation androidx.browser Version 1.4.0-alpha01 wird eingespielt und verursacht diesen Fehler. Hier wird eine Lösung vorgeschlagen github.com/proyecto26/react-native-inappbrowser/issues/298
– Tin Nguyen
18. September 2021 um 16:41 Uhr
Für das, was es wert ist, wird der Fehler, den Sie zu MODULE usw. erhalten haben, mit JDK11 behoben, JDK8 funktioniert nicht gut mit den API31-Android-SDK-Levels
– Mike Hardy
4. November 2021 um 22:17 Uhr
10108500cookie-checkWie kann ich den Fehler „Die minCompileSdk (31) angegeben in den AAR-Metadaten einer Abhängigkeit“ in nativem Java oder Kotlin beheben? [duplicate]yes
(Der vorgeschlagene Dupe hat im Gegensatz zu dieser Frage einen MCVE)
– Zoe steht mit der Ukraine
♦
23. September 2021 um 14:35 Uhr