'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:

  1. Use Android SDK version 31 in your project. Find compileSdkVersion 30 in your app\build.gradle file, and change it to compileSdkVersion 31.
  2. 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

  1. Android SDK version 32.
  2. change compileSdkVersion and targetSdkVersion to 32.
  3. 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