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

Benutzer-Avatar
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.

AAR-Metadatendatei:
C:\Benutzer\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 .Eigenschaften.

  • (Der vorgeschlagene Dupe hat im Gegensatz zu dieser Frage einen MCVE)

    – Zoe steht mit der Ukraine

    23. September 2021 um 14:35 Uhr

Benutzer-Avatar
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' }
}

Screenshot des Codes mit einem roten Freihandkreis

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

Benutzer-Avatar
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

Benutzer-Avatar
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

Benutzer-Avatar
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.

Nachdem ich die Fehlermeldung gelesen hatte, verstand ich, dass das Problem war androidx.core:core-ktx Also habe ich mehr darüber gesucht und festgestellt, dass eine neue Version gerade am 01. September veröffentlicht wurde https://androidx.tech/artifacts/core/core-ktx/ was war https://androidx.tech/artifacts/core/core-ktx/1.7.0-alpha02 was hat targetSdkVersion = 31

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

1010850cookie-checkWie kann ich den Fehler „Die minCompileSdk (31) angegeben in den AAR-Metadaten einer Abhängigkeit“ in nativem Java oder Kotlin beheben? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy