'How to solve: The minCompileSdk (31) specified in a dependency's AAR metadata
One or more issues found when checking AAR metadata values:
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.appcompat:appcompat:1.4.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\46d15f5c58a469270eeba15db4463d05\transformed\appcompat-1.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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.appcompat:appcompat-resources:1.4.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\70088de83757cd2e92dadb8b386e6adb\transformed\jetified-appcompat-resources-1.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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.emoji2:emoji2-views-helper:1.0.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\6cbed90352b213553df3539e2e7f22af\transformed\jetified-emoji2-views-helper-1.0.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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.emoji2:emoji2:1.0.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\09b79be83fba3907471fe1de63f439d3\transformed\jetified-emoji2-1.0.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\9339927e08badd09bc5459e4ba900d5f\transformed\core-1.7.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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.lifecycle:lifecycle-process:2.4.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\0e4a425e61d135d109d64d5f17d999df\transformed\jetified-lifecycle-process-2.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.
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.lifecycle:lifecycle-runtime:2.4.0. AAR metadata file: C:\Users\USER\AppData\Local\Android\Sdk\caches\transforms-3\bca1bb61c15ab5807e64593ca04debef\transformed\lifecycle-runtime-2.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.
Solution 1:[1]
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.appcompat:appcompat:1.4.0
The solution is in the error itself. There can be two solutions:
- Use Android SDK version 31 in your project. Find
compileSdkVersion 30
in your app\build.gradle file, and change it tocompileSdkVersion 31
. - Force gradle to use an older version of the dependency
androidx.lifecycle:lifecycle-process:2.4.0
. If you are not directly using this dependency, force gradle to use an older version like this:
android {
defaultConfig {
configurations.all {
resolutionStrategy {
force 'androidx.lifecycle:lifecycle process:2.3.1'
force 'androidx.appcompat:appcompat:1.3.1'
force 'androidx.appcompat:appcompat-resources:1.3.1'
// force 'androidx.emoji2:emoji2-views-helper:1.0.0', This won't work, because it is made to work with Android SDK version 31 only
force 'androidx.core:core:1.6.0'
force 'androidx.lifecycle:lifecycle-runtime:2.3.1'
}
}
}
}
Force older versions of other dependencies causing errors like this only.
Follow only one out of these two steps
Solution 2:[2]
In the app/build.gradle file change the compileSdk
to have a value of 31
(Some of the newer components require an sdk version that is high than Android studio sets by default)
Solution 3:[3]
you just need to install latest
- Android SDK version 32.
- change compileSdkVersion and targetSdkVersion to 32.
- sync now.
Solution 4:[4]
This is a pure copy of the following answer but it should make the trick
"This issue is related to androidx.appcompat:appcompat 1.4.0-beta01 released on September 29, 2021.
As plugin.xml defines ANDROIDX_VERSION as major version 1 (1.+), 1.4.0-beta01 was used instead of 1.3.0. Unfortunately you cannot simply use cordova plugin add cordova.plugins.diagnostic --variable ANDROIDX_VERSION=1.3.+ to overwrite the value, as the same version would be used for androidx.legacy:legacy-support-v4 which exists as version 1.0.0 only.
I successfully used cordova plugin add cordova.plugins.diagnostic --variable ANDROIDX_VERSION="[1.0, 1.4[" to get my builds fixed." - Vivek Kachhwaha
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Andrew |
Solution 3 | Rishabh kadam |
Solution 4 | Raphaël Balet |